Skip to content
This repository was archived by the owner on Aug 31, 2021. It is now read-only.

Commit ba7a57d

Browse files
author
runrevali
committed
Merge remote-tracking branch 'upstream/develop' into builder-char_as_grapheme
Conflicts: engine/src/chunk.cpp engine/src/chunk.h engine/src/exec-strings-chunk.cpp libfoundation/include/foundation-chunk.h libfoundation/src/foundation-chunk.cpp libscript/libscript.xcodeproj/project.pbxproj libscript/src/module-char.cpp toolchain/lc-compile/lc-compile.xcodeproj/project.pbxproj toolchain/vs-rules/lc-bootstrap-compile.rules
2 parents 9d1efa4 + 179bfdb commit ba7a57d

542 files changed

Lines changed: 31855 additions & 7935 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.gitignore

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,10 @@ encryptedstack.cpp
2020
encryptedstack.h
2121
stacksecurity_encrypted.cpp
2222
util/perfect/perfect.linux-*
23+
extensions/*/*/*.xml
24+
extensions/*/*/*.lci
25+
extensions/*/*/*.lcm
26+
extensions/*/*/*.lce
2327

2428
# Compiled source #
2529
###################
@@ -86,6 +90,7 @@ xcuserdata/
8690
_build/
8791
_cache/
8892
build/
93+
/_tests/
8994

9095
# SDKs #
9196
#################
@@ -102,4 +107,4 @@ prebuilt/fetched
102107
# Stamp files and generated C files
103108
###################################
104109
stamp-mlc*
105-
_mlc
110+
_mlc

.travis.yml

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,10 @@ install: (cd prebuilt && ./fetch-libraries.sh linux)
2020

2121
# Bootstrap the LCB compiler, build the default target set and run a
2222
# the default test suite.
23-
script: make -s bootstrap && make -s all && make -s check
23+
script: >
24+
if [ "${COVERITY_SCAN_BRANCH}" != "1" ]; then
25+
make -s bootstrap && make -s all && make -s check;
26+
fi
2427
2528
# Configuration for Coverity Scan integration
2629
#
@@ -33,6 +36,6 @@ addons:
3336
name: "runrev/livecode"
3437
description: "Build submitted via Travis CI"
3538
notification_email: peter@livecode.com
36-
build_command_prepend: "./configure; make clean"
37-
build_command: "make -s bootstrap && make -s all"
39+
build_command_prepend: "make -s thirdparty"
40+
build_command: "make -s bootstrap all"
3841
branch_pattern: coverity_scan

Makefile

Lines changed: 56 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -184,6 +184,23 @@ server-revzip: libzip libz libexternal
184184
revandroid: libexternalv1
185185
$(MAKE) -C ./revmobile revandroid
186186

187+
###############################################################################
188+
# revBrowser Targets
189+
190+
.PHONY: revbrowser libcef libcefwrapper revbrowser-cefprocess
191+
192+
libcef:
193+
$(MAKE) -C ./thirdparty/libcef libcef
194+
195+
libcefwrapper:
196+
$(MAKE) -C ./thirdparty/libcef libcefwrapper
197+
198+
revbrowser-cefprocess: libcef libcefwrapper
199+
$(MAKE) -C ./revbrowser revbrowser-cefprocess
200+
201+
revbrowser: libcore libexternal libcef libcefwrapper libexternalv1 revbrowser-cefprocess
202+
$(MAKE) -C ./revbrowser revbrowser
203+
187204
###############################################################################
188205
# MLC Targets
189206

@@ -205,34 +222,64 @@ lc-bootstrap-compile: libscript libfoundation libffi
205222
lc-compile-clean:
206223
$(MAKE) -C ./toolchain clean
207224

225+
########## Module runner
226+
227+
lc-run: libstdscript libfoundation
228+
$(MAKE) -C ./toolchain lc-run
229+
208230
########## Test runner
209231
lc-test: libstdscript libfoundation
210232
$(MAKE) -C ./toolchain lc-test
211233

212234
########## Tests
213-
lc-test-check: lc-test
235+
lcb-check: lc-compile lc-run
236+
$(MAKE) -C ./tests/lcb
237+
lc-run-check: lc-compile lc-run
238+
$(MAKE) -C ./tests/lc-run check
239+
lc-test-check: lc-compile lc-test
214240
$(MAKE) -C ./toolchain lc-test-check
215-
.PHONY: mlc-check
241+
.PHONY: lcb-check lc-run-check lc-test-check
242+
243+
244+
###############################################################################
245+
# Server Targets
246+
247+
.PHONY: server-all server-install
248+
249+
server-all: server
250+
server-all: server-revzip
251+
server-all: server-revxml
252+
server-all: server-revdb server-dbodbc server-dbsqlite server-dbmysql server-dbpostgresql
253+
server-all: lc-run lc-test
254+
255+
server-install: server-all
256+
$(MAKE) -C ./engine -f Makefile.server server-install
257+
216258

217259
###############################################################################
218260
# All Targets
219261

220-
.PHONY: all bootstrap clean
262+
.PHONY: all bootstrap thirdparty clean
221263
.DEFAULT_GOAL := all
222264

223-
all: revzip server-revzip
224-
all: revxml server-revxml
265+
all: revzip
266+
all: revxml
225267
all: revdb dbodbc dbsqlite dbmysql dbpostgresql
226-
all: server-revdb server-dbodbc server-dbsqlite server-dbmysql server-dbpostgresql
227268
all: development standalone installer server
228269
all: revpdfprinter revandroid
229-
all: lc-test
270+
all: revbrowser
271+
all: server-all
272+
all: lc-run lc-test
230273

231274
bootstrap: lc-bootstrap-compile
232275

233-
check: lc-test-check
276+
thirdparty: libffi libz libjpeg libpcre libpng libgif libopenssl libskia
277+
thirdparty: libcairopdf libpq libmysql libsqlite libiodbc libxml libxslt
278+
thirdparty: libzip
279+
280+
check: lc-run-check lc-test-check lcb-check
234281

235282
clean:
236-
-rm -rf _build/linux _cache/linux
283+
-rm -rf _build/linux _cache/linux _tests
237284
-rm -rf `find . -type d -name _mlc`
238285
clean: lc-compile-clean

contrib/TextWrangler/LiveCodeBuilder.plist

Lines changed: 411 additions & 1 deletion
Large diffs are not rendered by default.

contrib/emacs/livecode-mode.el

Lines changed: 88 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,88 @@
1+
;; Copyright (C) 2015 Runtime Revolution Ltd.
2+
3+
;; This file is part of LiveCode.
4+
5+
;; LiveCode is free software; you can redistribute it and/or modify it
6+
;; under the terms of the GNU General Public License v3 as published
7+
;; by the Free Software Foundation.
8+
9+
;; LiveCode is distributed in the hope that it will be useful, but
10+
;; WITHOUT ANY WARRANTY; without even the implied warranty of
11+
;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12+
;; General Public License for more details.
13+
14+
;; You should have received a copy of the GNU General Public License
15+
;; along with LiveCode. If not see <http://www.gnu.org/licenses/>.
16+
17+
;;;###autoload
18+
(add-to-list 'auto-mode-alist '("\\.mlc\\'" . livecode-mode))
19+
20+
(defvar livecode-mode-syntax-table
21+
(let ((st (make-syntax-table)))
22+
;; Comments
23+
(modify-syntax-entry ?/ ". 14b" st)
24+
(modify-syntax-entry ?* ". 23b" st)
25+
(modify-syntax-entry ?\- "<" st)
26+
(modify-syntax-entry ?\n ">" st)
27+
;; Angle brackets
28+
(modify-syntax-entry ?< "(" st)
29+
(modify-syntax-entry ?> ")" st)
30+
st)
31+
"Syntax table for LiveCode mode")
32+
33+
(defvar livecode-keywords
34+
'("variable" "syntax" "begin" "end" "phrase" "operator"
35+
"foreign" "handler" "prefix" "postfix" "precedence" "statement"
36+
"undefined" "public" "neutral" "binds to" "optional"
37+
"any" "private" "if" "else" "then" "repeat" "metadata" "widget" "module"
38+
"version" "author" "title" "true" "false" "return" "as" "use" "type"))
39+
40+
(defvar livecode-builtins
41+
'("output" "input"
42+
"bool" "boolean"
43+
"int" "number" "real" "double" "float"
44+
"string" "data" "list" "map" "pointer" "is" "empty"))
45+
46+
(defvar livecode-font-lock-defaults
47+
(let ((symbol-regexp "\\_<\\(\\(?:\\s_\\|\\w\\)*\\)\\_>"))
48+
`((
49+
;; stuff between "
50+
("\"\\.\\*\\?" . font-lock-string-face)
51+
52+
;; Keywords and builtins
53+
( ,(regexp-opt livecode-keywords 'symbols) . font-lock-keyword-face)
54+
( ,(regexp-opt livecode-builtins 'symbols) . font-lock-builtin-face)
55+
56+
;; "as" expressions
57+
("\\_<as\\s-+\\(\\(?:\\s_\\|\\w\\)*\\)\\_>" 1 font-lock-type-face)
58+
59+
;; handler definitions including parameter names
60+
( ,(concat "^\\s-*\\(\\_<\\(public\\|foreign\\)\\_>\\s-+\\)?\\_<handler\\_>\\s-+" symbol-regexp)
61+
(3 font-lock-function-name-face nil)
62+
( ,(concat "\\(" (regexp-opt '("in" "out" "inout") 'symbols) "\\)"
63+
"\\s-+" symbol-regexp)
64+
nil nil
65+
(3 font-lock-variable-name-face)
66+
(2 font-lock-keyword-face)))
67+
68+
;; variable names
69+
( ,(concat "^\\s-*\\_<variable\\_>\\s-*" symbol-regexp)
70+
(1 font-lock-variable-name-face))
71+
72+
;; syntax definitions
73+
( ,(concat "^\\s-*\\_<syntax\\_>\\s-+" symbol-regexp)
74+
(1 font-lock-function-name-face)
75+
("\\_<is\\_>" nil nil (0 font-lock-keyword-face t)))
76+
))))
77+
78+
(define-derived-mode livecode-mode prog-mode "LiveCode builder source"
79+
"Major mode for editing LiveCode builder source files"
80+
:syntax-table livecode-mode-syntax-table
81+
82+
(setq font-lock-defaults livecode-font-lock-defaults)
83+
84+
(set (make-local-variable 'comment-start) "--")
85+
(set (make-local-variable 'comment-end) "")
86+
)
87+
88+
(provide 'livecode-mode)

docs/dictionary/command/iphoneSetStatusBarStyle.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
<doc> <legacy_id></legacy_id> <name>iphoneSetStatusBarStyle</name> <type>command</type> <syntax> <example>iphoneSetStatusBarStyle <i>style</i></example> </syntax> <synonyms> </synonyms> <summary>Controls the style of the iOS status bar.</summary> <examples><example>iphoneSetStatusBarStyle tStyle</example><example>iphoneSetStatusBarStyle &quot;translucent&quot;</example> </examples> <history> <introduced version="4.5.2">Added</introduced> <deprecated version=""></deprecated> <removed version=""></removed> </history> <objects> </objects> <platforms> <ios/> </platforms> <classes> <mobile/> </classes> <security> </security> <classification> </classification> <references> <command tag="mobileHideStatusBar">mobileHideStatusBar Command</command> <command tag="mobileShowStatusBar">mobileShowStatusBar Command</command> </references> <description> <overview>Use <b>iphoneSetStatusBarStyle</b> to change the style of the iOS status bar.</overview> <parameters> <parameter> <name>style</name> <description>The style of the iOS status bar.</description> <options title=""> <option> <item>default</item> <description>The default mode for the device.</description> </option> <option> <item>translucent</item> <description>Semi-transparent status bar (in this case the stack appears underneath it).</description> </option> <option> <item>opaque</item> <description>A black status bar (in this case the stack appears below it).</description> </option> </options> </parameter> </parameters> <value></value> <comments></comments> </description></doc>
1+
<doc> <legacy_id></legacy_id> <name>iphoneSetStatusBarStyle</name> <type>command</type> <syntax> <example>iphoneSetStatusBarStyle <i>style</i></example> </syntax> <synonyms> </synonyms> <summary>Controls the style of the iOS status bar.</summary> <examples><example>iphoneSetStatusBarStyle tStyle</example><example>iphoneSetStatusBarStyle "translucent"</example> </examples> <history> <introduced version="4.5.2">Added</introduced> <deprecated version=""></deprecated> <removed version=""></removed> <experimental version=""></experimental> <nonexperimental version=""></nonexperimental> </history> <objects> </objects> <platforms> <ios/> </platforms> <classes> <mobile/> </classes> <security> </security> <classification> </classification> <references> <command tag="mobileHideStatusBar">mobileHideStatusBar Command</command> <command tag="mobileShowStatusBar">mobileShowStatusBar Command</command> </references> <description> <overview>Use <b>iphoneSetStatusBarStyle</b> to change the style of the iOS status bar.</overview> <parameters> <parameter> <name>style</name> <description>The style of the iOS status bar.</description> <options title=""> <option> <item>default</item> <description>The default mode for the device.</description> </option> <option> <item>translucent</item> <description>Semi-transparent status bar (in this case the stack appears underneath it).</description> </option> <option> <item>opaque</item> <description>A black status bar (in this case the stack appears below it in pre-iOS 7, and underneath it in iOS 7+).</description> </option> <option> <item>solid</item> <description>A black status bar (in this case the stack appears below it).</description> </option> </options> </parameter> </parameters> <value></value> <comments></comments> </description></doc>

docs/dictionary/function/textEncode.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -81,7 +81,7 @@
8181
</option>
8282
<option>
8383
<item>Native</item>
84-
<description>ISO-8859-1 on Minux, MacRoman on OS X, CP1252 on Windows</description>
84+
<description>ISO-8859-1 on Linux, MacRoman on OS X, CP1252 on Windows</description>
8585
</option>
8686
<option>
8787
<item>UTF-16</item>
Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
<doc>
2+
<legacy_id></legacy_id>
3+
<name>browserDocumentFailed</name>
4+
<type>message</type>
5+
<syntax>
6+
<example>browserDocumentFailed <i>instanceId, url, errorMessage</i></example>
7+
</syntax>
8+
<library>Browser Library</library>
9+
<objects>
10+
<card/>
11+
</objects>
12+
<synonyms>
13+
</synonyms>
14+
<classification>
15+
</classification>
16+
<references>
17+
<message tag="browserDownloadRequest">browserDownloadRequest Message</message>
18+
<function tag="revBrowserOpenCef">revBrowserOpenCef Function</function>
19+
</references>
20+
<history>
21+
<introduced version="6.7.3">Added.</introduced>
22+
</history>
23+
<platforms>
24+
<mac/>
25+
<windows/>
26+
</platforms>
27+
<classes>
28+
<desktop/>
29+
</classes>
30+
<security>
31+
<network/>
32+
</security>
33+
<summary>Sent when a browser object has encountered an error when loading a url</summary>
34+
<examples>
35+
<example>on browserDocumentFailed pInstanceId, pUrl, pErrorMessage</p><p> answer "Failed to load URL" && quote & pUrl & quote & return & "Error message: " && pErrorMessage</p><p>end browserDocumentFailed</example>
36+
</examples>
37+
<description>
38+
<p>The <b>browserDocumentFailed</b> message is sent to the current card of a stack containing a browser object when the browser object has encountered an error while loading a url and all its dependent resources.</p><p/><p>If the target is the main frame of the browser (e.g. the html page with the "FRAMESET" declaration), then the <b>browserDocumentFailed</b> message is sent. Otherwise the <message tag="browserDocumentFailedFrame">browserDocumentFailedFrame message</message> is sent instead.</p><p/><p><b>Parameters:</b></p><p>The <i>url</i> is the url that has failed to load</p><p>The <i>instanceId</i> is the integer identifer of the browser object</p><p>The <i>errorMessage</i> is a message explaining why the url failed to load</p><p/><p><b>Note:</b> For general information on using the browser library, see the notes in the <function tag="revBrowserOpen">revBrowserOpen function</function> reference.</p>
39+
</description>
40+
</doc>
Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
<doc>
2+
<legacy_id></legacy_id>
3+
<name>browserDocumentFailedFrame</name>
4+
<type>message</type>
5+
<syntax>
6+
<example>browserDocumentFailedFrame <i>instanceId, url, errorMessage</i></example>
7+
</syntax>
8+
<library>Browser Library</library>
9+
<objects>
10+
<card/>
11+
</objects>
12+
<synonyms>
13+
</synonyms>
14+
<classification>
15+
</classification>
16+
<references>
17+
<message tag="browserDownloadRequest">browserDownloadRequest Message</message>
18+
<function tag="revBrowserOpenCef">revBrowserOpenCef Function</function>
19+
</references>
20+
<history>
21+
<introduced version="6.7.3">Added.</introduced>
22+
</history>
23+
<platforms>
24+
<mac/>
25+
<windows/>
26+
</platforms>
27+
<classes>
28+
<desktop/>
29+
</classes>
30+
<security>
31+
<network/>
32+
</security>
33+
<summary>Sent when a browser object has encountered an error when loading a url in a frame</summary>
34+
<examples>
35+
<example>on browserDocumentFailedFrame pInstanceId, pUrl, pErrorMessage</p><p> answer "Failed to load frame URL" && quote & pUrl & quote & return & "Error message: " && pErrorMessage</p><p>end browserDocumentFailedFrame</example>
36+
</examples>
37+
<description>
38+
<p>The <b>browserDocumentFailedFrame</b> message is sent to the current card of a stack containing a browser object when the browser object has encountered an error while loading a url and all its dependent resources in a frame.</p><p/><p>If the target is the main frame of the browser then the <message tag="browserDocumentFailed">browserDocumentFailed message</message> message is sent instead.</p><p/><p><b>Parameters:</b></p><p>The <i>url</i> is the url that has failed to load in a frame</p><p>The <i>instanceId</i> is the integer identifer of the browser object</p><p>The <i>errorMessage</i> is a message explaining why the url failed to load in the frame</p><p/><p><b>Note:</b> For general information on using the browser library, see the notes in the <function tag="revBrowserOpen">revBrowserOpen function</function> reference.</p>
39+
</description>
40+
</doc>

0 commit comments

Comments
 (0)