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

Commit b64c8bf

Browse files
committed
Merge branch 'develop' of github.com:livecode/livecode into feature-java_ffi_dsl_parser
2 parents e168c5d + d75700a commit b64c8bf

File tree

1,527 files changed

+27781
-20728
lines changed

Some content is hidden

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

1,527 files changed

+27781
-20728
lines changed

.dir-locals.el

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
1-
((c-mode . ((indent-tabs-mode . t)
1+
((c-mode . ((indent-tabs-mode . nil)
22
(tab-width . 4)
33
(c-basic-offset . 4)
44
(c-file-offsets . ((block-open . 0)
55
(statement-block-intro . +)
66
(substatement-open . 0)
77
))))
88

9-
(c++-mode . ((indent-tabs-mode . t)
9+
(c++-mode . ((indent-tabs-mode . nil)
1010
(tab-width . 4)
1111
(c-basic-offset . 4)
1212
(c-file-offsets . ((block-open . 0)

.travis.yml

Lines changed: 22 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,14 @@ os:
1111
- linux
1212
- osx
1313

14+
# Use a Travis image containing an Xcode we support
15+
# This prevents surprise upgrades!
16+
osx_image: xcode7.3
17+
1418
language: c++
1519

20+
compiler: clang
21+
1622
# Skip vulcan CI branches
1723
branches:
1824
only:
@@ -30,7 +36,11 @@ env:
3036

3137
# Install any required tools
3238
before_install:
33-
- if [[ "$TRAVIS_OS_NAME" == "osx" ]] ; then sudo gem install xcpretty ; fi
39+
- |
40+
if [[ "$TRAVIS_OS_NAME" == "osx" ]] ; then
41+
rvm --default use 2.2.1
42+
gem install xcpretty
43+
fi
3444
3545
# Set up the source tree by fetching Linux-specific prebuilt objects
3646
install:
@@ -39,19 +49,20 @@ install:
3949

4050
# Bootstrap the LCB compiler, build the default target set and run a
4151
# the default test suite.
42-
script: >
52+
script: |
4353
case "${TRAVIS_OS_NAME}" in
4454
linux)
45-
BUILD_PLATFORM=linux ;
46-
CHECK_COMMAND=xvfb-run ;
47-
LICENSE_DIR="${HOME}/.runrev/licenses" ;
55+
BUILD_PLATFORM=linux
56+
CHECK_COMMAND=xvfb-run
57+
LICENSE_DIR="${HOME}/.runrev/licenses"
4858
;;
4959
osx)
50-
BUILD_PLATFORM=mac ;
51-
CHECK_COMMAND= ;
52-
LICENSE_DIR="${HOME}/Library/Application Support/RunRev/Licenses" ;
53-
export XCODEBUILD="set -o pipefail && xcodebuild" ;
54-
export XCODEBUILD_FILTER="| xcpretty" ;
60+
BUILD_PLATFORM=mac
61+
CHECK_COMMAND=
62+
LICENSE_DIR="${HOME}/Library/Application Support/RunRev/Licenses"
63+
export XCODE_TARGET_SDK=macosx10.11
64+
export XCODEBUILD="set -o pipefail && xcodebuild"
65+
export XCODEBUILD_FILTER="| xcpretty"
5566
;;
5667
esac
5768
@@ -90,4 +101,4 @@ addons:
90101
- libpopt-dev
91102
- libesd0-dev
92103
- liblcms-dev
93-
- xvfb
104+
- xvfb

CONTRIBUTING.md

Lines changed: 6 additions & 77 deletions
Original file line numberDiff line numberDiff line change
@@ -90,80 +90,9 @@ When the pull request is merged, the status should be set to "AWAITING_BUILD".
9090

9191
## Coding style
9292

93-
### C++ coding style
94-
95-
The majority of the engine is written in C++, but the style treats C++ as an improved version of C, and doesn't use the whole of the language's feature set. In particular:
96-
97-
* The engine doesn't use exceptions or RTTI (run time type information).
98-
* Templates are used sparingly, and typically as "sanitized macros" for efficiency purposes or for resource management.
99-
* No standard C++ library is used (i.e. you cannot use anything in the `std` namespace)
100-
101-
#### Naming convention
102-
103-
The engine source code follows a standard naming convention.
104-
105-
Variable and function names should be descriptive. Don't be scared of verbosity (but don't go too overboard on symbol lengths)
106-
107-
108-
Variable names:
109-
* should be lowercase, with words separated by underscores ("\_")
110-
* should be prefixed to indicate scope:
111-
* "t\_": local variables
112-
* "p\_": in parameters
113-
* "r\_": out parameters
114-
* "x\_": in-out parameters
115-
* "m\_": class or struct instance member variables
116-
* "s\_": class, function, or file-local static variables
117-
* "g\_": global variables
118-
* example: `t_foo_bar`
119-
120-
Constants' names (including enum members):
121-
* should be camel-case
122-
* should prefixed with `kMC` and the module name
123-
* example: `kMCModuleFooBar`
124-
125-
Function names:
126-
* should generally be camel-case
127-
* public / exported functions should have names prefixed with "MC" followed by the module name.
128-
* file-local static functions may also be in lower-case and underscore-separated
129-
* example: `MCFooBar()`
130-
131-
#### Coding practices
132-
133-
* Declare and initialize local variables on separate lines
134-
* Initialize all variables to a base value, e.g.
135-
* pointers to `nil`
136-
* bools to `true` or `false`
137-
* numbers to 0
138-
* Only pass `bool` values to conditions (e.g. `if`, `while`, etc.). Don't assume that `nil`/`null`/`0` are false.
139-
* Always check the success of memory allocations; if the calling code can't handle memory failure then prefix the line that allocates with `/* UNCHECKED */`
140-
* Avoid using preprocessor macros to abbreviate code; use inline and/or template functions instead
141-
* Use implicit resource management (e.g. `MCAutoStringRef`) wherever reasonably possible
142-
* Functions should not modify "out" function parameters until immediately before returning, and only on success
143-
* `goto` is only usually acceptable for implementing cleanup-on-error
144-
* Avoid using the ternary operator (`<condition> ? <expr-if-true> : <expr-if-false>`)
145-
* Use a bit-field when declaring boolean values in a struct or class (e.g. `bool m_bool_member : 1`)
146-
* Whenever adding a function, add a comment that explains precisely:
147-
* What the function does, under what conditions it succeeds, and how it behaves when it fails
148-
* What the function expects as inputs, and what outputs it generates
149-
150-
#### Layout and style
151-
152-
* Indent with tabs, using a 4-space tab width.
153-
* All curly braces should be on a line on their own. They should be indented to match the level of the construct they relate to. For example:
154-
155-
````
156-
if (/* <condition> */)
157-
{
158-
/* <body> */
159-
}
160-
````
161-
* Use a single space after the `for`, `while`, `if`, and `switch` keywords, as in the example above.
162-
* Don't insert a space between a function or macro name and its parameter list
163-
* Insert a single space after each comma (",")
164-
* Insert a single space before and after binary operators (e.g. `x == y`)
165-
* Put a single statement on each line
166-
* Split overly-long lines (> 80 characters) appropriately. Try to place a line-break after any binary operators or commas.
167-
* Use a single blank line to separate different areas of code with in a function.
168-
* Use a single blank line between function and type definitions
169-
* Separate significant areas of code with comment bars, e.g. a line containing only 80 slash characters ("/")
93+
See the separate documentation for:
94+
95+
- [C++ coding style](docs/development/C++-style.md) and
96+
[use of C++ language features](docs/development/C++-features.md)
97+
98+
- [LiveCode Builder coding style](docs/guides/LiveCode Builder Style Guide.md)

Installer/package.txt

Lines changed: 43 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -402,6 +402,8 @@ component Extensions
402402
rfolder macosx:packaged_extensions/com.livecode.widget.paletteActions
403403
into [[ToolsFolder]]/Extensions place
404404
rfolder macosx:packaged_extensions/com.livecode.widget.segmented
405+
into [[ToolsFolder]]/Extensions place
406+
rfolder macosx:packaged_extensions/com.livecode.widget.spinner
405407
into [[ToolsFolder]]/Extensions place
406408
rfolder macosx:packaged_extensions/com.livecode.widget.svgpath
407409
into [[ToolsFolder]]/Extensions place
@@ -412,6 +414,8 @@ component Extensions
412414
rfolder macosx:packaged_extensions/com.livecode.library.widgetutils
413415
into [[ToolsFolder]]/Extensions place
414416
rfolder macosx:packaged_extensions/com.livecode.widget.tile
417+
into [[ToolsFolder]]/Extensions place
418+
rfolder macosx:packaged_extensions/com.livecode.library.scriptitems
415419

416420
component Toolchain.MacOSX
417421
into [[ToolsFolder]]/Toolchain place
@@ -608,22 +612,22 @@ component Runtime.iOS
608612
file ios:iphonesimulator9.2/mobile-disable-ats-template.plist as "DisableATS.plist"
609613
file ios:iphonesimulator9.2/[email protected] as "Default4InchSplash.png" base ios:[email protected]
610614
file ios:iphonesimulator9.2/fontmap as "fontmap"
611-
into "[[ToolsFolder]]/Runtime/iOS/Simulator-10_0" place
612-
executable ios:iphonesimulator10.0/standalone-mobile[[BaseEditionTagLower]].ios-engine as Standalone base ios:iphonesimulator8.2/standalone-mobile[[BaseEditionTagLower]].app/standalone-mobile[[BaseEditionTagLower]]
613-
executable ios:iphonesimulator10.0/revsecurity.ios-extension as RevSecurity base ios:iphonesimulator8.2/revsecurity.dylib
614-
executable ios:iphonesimulator10.0/revpdfprinter.ios-extension as RevPdfPrinter base ios:iphonesimulator8.2/revpdfprinter.dylib
615-
executable ios:iphonesimulator10.0/revzip.ios-extension as RevZip base ios:iphonesimulator8.2/revzip.dylib
616-
executable ios:iphonesimulator10.0/revxml.ios-extension as RevXml base ios:iphonesimulator8.2/revxml.dylib
617-
executable ios:iphonesimulator10.0/revdb.ios-extension as RevDb base ios:iphonesimulator8.2/revdb.dylib
618-
executable ios:iphonesimulator10.0/dbsqlite.ios-extension as DbSqlite base ios:iphonesimulator8.2/dbsqlite.dylib
619-
executable ios:iphonesimulator10.0/dbmysql.ios-extension as DbMysql base ios:iphonesimulator8.2/dbmysql.dylib
620-
file ios:iphonesimulator10.0/mobile-template.plist as "Settings.plist"
621-
file ios:iphonesimulator10.0/mobile-remote-notification-template.plist as "RemoteNotificationSettings.plist"
622-
file ios:iphonesimulator10.0/mobile-url-scheme-template.plist as "URLSchemeSettings.plist"
623-
file ios:iphonesimulator10.0/mobile-splashscreen-template.plist as "SplashscreenSettings.plist"
624-
file ios:iphonesimulator10.0/mobile-disable-ats-template.plist as "DisableATS.plist"
625-
file ios:iphonesimulator10.0/[email protected] as "Default4InchSplash.png" base ios:[email protected]
626-
file ios:iphonesimulator10.0/fontmap as "fontmap"
615+
into "[[ToolsFolder]]/Runtime/iOS/Simulator-10_2" place
616+
executable ios:iphonesimulator10.2/standalone-mobile[[BaseEditionTagLower]].ios-engine as Standalone base ios:iphonesimulator8.2/standalone-mobile[[BaseEditionTagLower]].app/standalone-mobile[[BaseEditionTagLower]]
617+
executable ios:iphonesimulator10.2/revsecurity.ios-extension as RevSecurity base ios:iphonesimulator8.2/revsecurity.dylib
618+
executable ios:iphonesimulator10.2/revpdfprinter.ios-extension as RevPdfPrinter base ios:iphonesimulator8.2/revpdfprinter.dylib
619+
executable ios:iphonesimulator10.2/revzip.ios-extension as RevZip base ios:iphonesimulator8.2/revzip.dylib
620+
executable ios:iphonesimulator10.2/revxml.ios-extension as RevXml base ios:iphonesimulator8.2/revxml.dylib
621+
executable ios:iphonesimulator10.2/revdb.ios-extension as RevDb base ios:iphonesimulator8.2/revdb.dylib
622+
executable ios:iphonesimulator10.2/dbsqlite.ios-extension as DbSqlite base ios:iphonesimulator8.2/dbsqlite.dylib
623+
executable ios:iphonesimulator10.2/dbmysql.ios-extension as DbMysql base ios:iphonesimulator8.2/dbmysql.dylib
624+
file ios:iphonesimulator10.2/mobile-template.plist as "Settings.plist"
625+
file ios:iphonesimulator10.2/mobile-remote-notification-template.plist as "RemoteNotificationSettings.plist"
626+
file ios:iphonesimulator10.2/mobile-url-scheme-template.plist as "URLSchemeSettings.plist"
627+
file ios:iphonesimulator10.2/mobile-splashscreen-template.plist as "SplashscreenSettings.plist"
628+
file ios:iphonesimulator10.2/mobile-disable-ats-template.plist as "DisableATS.plist"
629+
file ios:iphonesimulator10.2/[email protected] as "Default4InchSplash.png" base ios:[email protected]
630+
file ios:iphonesimulator10.2/fontmap as "fontmap"
627631
into "[[ToolsFolder]]/Runtime/iOS/Device-9_2" place
628632
executable ios:iphoneos9.2/standalone-mobile[[BaseEditionTagLower]].ios-engine as Standalone
629633
executable ios:iphoneos9.2/revsecurity.ios-extension as RevSecurity
@@ -644,26 +648,26 @@ component Runtime.iOS
644648
file ios:iphoneos9.2/mobile-disable-ats-template.plist as "DisableATS.plist"
645649
file ios:iphoneos9.2/[email protected] as "Default4InchSplash.png" base ios:[email protected]
646650
file ios:iphoneos9.2/fontmap as "fontmap"
647-
into "[[ToolsFolder]]/Runtime/iOS/Device-10_0" place
648-
executable ios:iphoneos10.0/standalone-mobile[[BaseEditionTagLower]].ios-engine as Standalone base ios:iphoneos9.2/standalone-mobile[[BaseEditionTagLower]].lcext
649-
executable ios:iphoneos10.0/revsecurity.ios-extension as RevSecurity base ios:iphoneos9.2/revsecurity.lcext
650-
executable ios:iphoneos10.0/revpdfprinter.ios-extension as RevPdfPrinter base ios:iphoneos9.2/revpdfprinter.lcext
651-
executable ios:iphoneos10.0/revzip.ios-extension as RevZip base ios:iphoneos9.2/revzip.lcext
652-
executable ios:iphoneos10.0/revxml.ios-extension as RevXml base ios:iphoneos9.2/revxml.lcext
653-
executable ios:iphoneos10.0/revdb.ios-extension as RevDb base ios:iphoneos9.2/revdb.lcext
654-
executable ios:iphoneos10.0/dbsqlite.ios-extension as DbSqlite base ios:iphoneos9.2/dbsqlite.lcext
655-
executable ios:iphoneos10.0/dbmysql.ios-extension as DbMysql base ios:iphoneos9.2/dbmysql.lcext
656-
file ios:iphoneos10.0/mobile-device-template.plist as "Settings.plist"
657-
file ios:iphoneos10.0/mobile-remote-notification-template.plist as "RemoteNotificationSettings.plist"
658-
file ios:iphoneos10.0/mobile-url-scheme-template.plist as "URLSchemeSettings.plist"
659-
file ios:iphoneos10.0/mobile-splashscreen-template.plist as "SplashscreenSettings.plist"
660-
file ios:iphoneos10.0/template-entitlements.xcent as "Entitlements.xcent"
661-
file ios:iphoneos10.0/template-beta-report-entitlement.xcent as "BetaReportEntitlement.xcent"
662-
file ios:iphoneos10.0/template-remote-notification-entitlements.xcent as "RemoteNotificationEntitlements.xcent"
663-
file ios:iphoneos10.0/template-remote-notification-store-entitlements.xcent as "RemoteNotificationStoreEntitlements.xcent"
664-
file ios:iphoneos10.0/mobile-disable-ats-template.plist as "DisableATS.plist"
665-
file ios:iphoneos10.0/[email protected] as "Default4InchSplash.png" base ios:[email protected]
666-
file ios:iphoneos10.0/fontmap as "fontmap"
651+
into "[[ToolsFolder]]/Runtime/iOS/Device-10_2" place
652+
executable ios:iphoneos10.2/standalone-mobile[[BaseEditionTagLower]].ios-engine as Standalone base ios:iphoneos9.2/standalone-mobile[[BaseEditionTagLower]].ios-engine
653+
executable ios:iphoneos10.2/revsecurity.ios-extension as RevSecurity base ios:iphoneos9.2/revsecurity.ios-extension
654+
executable ios:iphoneos10.2/revpdfprinter.ios-extension as RevPdfPrinter base ios:iphoneos9.2/revpdfprinter.ios-extension
655+
executable ios:iphoneos10.2/revzip.ios-extension as RevZip base ios:iphoneos9.2/revzip.ios-extension
656+
executable ios:iphoneos10.2/revxml.ios-extension as RevXml base ios:iphoneos9.2/revxml.ios-extension
657+
executable ios:iphoneos10.2/revdb.ios-extension as RevDb base ios:iphoneos9.2/revdb.ios-extension
658+
executable ios:iphoneos10.2/dbsqlite.ios-extension as DbSqlite base ios:iphoneos9.2/dbsqlite.ios-extension
659+
executable ios:iphoneos10.2/dbmysql.ios-extension as DbMysql base ios:iphoneos9.2/dbmysql.ios-extension
660+
file ios:iphoneos10.2/mobile-device-template.plist as "Settings.plist"
661+
file ios:iphoneos10.2/mobile-remote-notification-template.plist as "RemoteNotificationSettings.plist"
662+
file ios:iphoneos10.2/mobile-url-scheme-template.plist as "URLSchemeSettings.plist"
663+
file ios:iphoneos10.2/mobile-splashscreen-template.plist as "SplashscreenSettings.plist"
664+
file ios:iphoneos10.2/template-entitlements.xcent as "Entitlements.xcent"
665+
file ios:iphoneos10.2/template-beta-report-entitlement.xcent as "BetaReportEntitlement.xcent"
666+
file ios:iphoneos10.2/template-remote-notification-entitlements.xcent as "RemoteNotificationEntitlements.xcent"
667+
file ios:iphoneos10.2/template-remote-notification-store-entitlements.xcent as "RemoteNotificationStoreEntitlements.xcent"
668+
file ios:iphoneos10.2/mobile-disable-ats-template.plist as "DisableATS.plist"
669+
file ios:iphoneos10.2/[email protected] as "Default4InchSplash.png" base ios:[email protected]
670+
file ios:iphoneos10.2/fontmap as "fontmap"
667671

668672
////////////////////////////////////////////////////////////////////////////////
669673

@@ -698,13 +702,11 @@ component Externals.Windows
698702
component Externals.MacOSX
699703
into [[TargetFolder]]/Externals place
700704
executable macosx:revspeech.bundle
701-
executable macosx:revvideograbber.bundle
702705
executable macosx:revxml.bundle
703706
executable macosx:revbrowser.bundle
704707
executable macosx:revzip.bundle
705708
executable macosx:revfont.bundle
706709
declare external "Speech" using revspeech.bundle
707-
declare external "Video Grabber" using revvideograbber.bundle
708710
declare external "XML" using revxml.bundle
709711
declare external "Browser" using revbrowser.bundle
710712
declare external "Revolution Zip" using revzip.bundle
@@ -830,5 +832,8 @@ component Toolset
830832
stack ide-support:revsblibrary.livecodescript
831833
file ide-support:revdocsparser.livecodescript
832834
file ide-support:revliburl.livecodescript
835+
file repo:extensions/script-libraries/oauth2/oauth2.livecodescript
836+
file repo:extensions/script-libraries/getopt/getopt.livecodescript
837+
file repo:extensions/script-libraries/mime/mime.livecodescript
833838

834839
////////////////////////////////////////////////////////////////////////////////

Livecode.config

Lines changed: 0 additions & 23 deletions
This file was deleted.

Livecode.creator

Lines changed: 0 additions & 1 deletion
This file was deleted.

0 commit comments

Comments
 (0)