Skip to content

Commit 38cae35

Browse files
Merge pull request livecode#4219 from livecodepanos/merge-develop-8.0-30.06.2016
Merge develop 8.0 30.06.2016
2 parents 114d7a2 + 1132805 commit 38cae35

111 files changed

Lines changed: 1804 additions & 857 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.

.gitattributes

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,9 @@
2929
*.sh text eol=lf
3030
*.inc text eol=lf
3131

32+
# These files are processed by cygwin+bash so make sure they don't end with CRLF
33+
prebuilt/versions/* text eol=lf
34+
3235
# Denote all files that are truly binary and should not be modified.
3336
*.png binary
3437
*.jpg binary

Installer/package.txt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -746,6 +746,7 @@ component Externals.CEF.Linux
746746
file linux-[[TargetArchitecture]]:CEF/cef.pak
747747
file linux-[[TargetArchitecture]]:CEF/cef_100_percent.pak
748748
file linux-[[TargetArchitecture]]:CEF/cef_200_percent.pak
749+
file linux-[[TargetArchitecture]]:CEF/cef_extensions.pak
749750
file linux-[[TargetArchitecture]]:CEF/icudtl.dat
750751
file linux-[[TargetArchitecture]]:CEF/natives_blob.bin
751752
file linux-[[TargetArchitecture]]:CEF/snapshot_blob.bin
@@ -773,6 +774,7 @@ component Externals.CEF.Windows
773774
file windows:CEF/cef.pak
774775
file windows:CEF/cef_100_percent.pak
775776
file windows:CEF/cef_200_percent.pak
777+
file windows:CEF/cef_extensions.pak
776778
file windows:CEF/icudtl.dat
777779
file windows:CEF/natives_blob.bin
778780
file windows:CEF/snapshot_blob.bin

builder/builder_utilities.livecodescript

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
script "BuilderUtilities"
2-
constant kMergExtVersion = "2016-6-9"
2+
constant kMergExtVersion = "2016-6-24"
33

44
local sEngineDir
55
local sWorkDir

builder/release_notes_builder.livecodescript

Lines changed: 90 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -259,6 +259,7 @@ end BaseReadFile
259259

260260
private command BaseCreateUpdates
261261
MarkdownAppend "updates", merge("LiveCode [[sVersion]] is now available.") & return
262+
MarkdownAppend "updates", merge("The full [[sVersion]] release notes are available on the LiveCode website.") & return
262263
MarkdownAppend "updates", "Changes in this release include:" & return
263264
end BaseCreateUpdates
264265

@@ -284,15 +285,17 @@ files get their own section in the release notes.
284285
private command V1NotesCreate pType, pReadableType, pTitle
285286
builderLog "report", merge("Creating [[pReadableType]] release notes")
286287

287-
MarkdownAppend "notes", merge("# [[pTitle]]")
288-
MarkdownAppend "updates", merge("# [[pTitle]]")
289-
290288
-- First, gather all files, their contents, and their metadata
291289
local tScannedNotes
292290
put V1NotesScan(pType) into tScannedNotes
293291

294292
-- Next generate markdown
295-
V1NotesGenerate pType, pReadableType, tScannedNotes
293+
if V1NotesHaveContent(tScannedNotes) then
294+
MarkdownAppend "notes", merge("# [[pTitle]]")
295+
MarkdownAppend "updates", merge("# [[pTitle]]")
296+
297+
V1NotesGenerate pType, pReadableType, tScannedNotes
298+
end if
296299
end V1NotesCreate
297300

298301
/*
@@ -385,6 +388,29 @@ private command V1NotesScanVersion pType, pVersion, pFiles, @xScan
385388
end repeat
386389
end V1NotesScanVersion
387390

391+
private function V1NotesHaveContent pScanData
392+
local tTagData
393+
repeat for each element tTagData in pScanData
394+
if V1NotesHaveContentVersion(tTagData) then
395+
return true
396+
end if
397+
end repeat
398+
return false
399+
end V1NotesHaveContent
400+
401+
private function V1NotesHaveContentVersion pScanData
402+
local tFileInfo
403+
repeat for each element tFileInfo in pScanData
404+
if tFileInfo["basename"] contains "feature" then
405+
return true
406+
end if
407+
if tFileInfo["basename"] contains "bugfix" then
408+
return true
409+
end if
410+
end repeat
411+
return false
412+
end V1NotesHaveContentVersion
413+
388414
private command V1NotesGenerate pType, pReadableType, pScanData
389415
local tBugInfo
390416

@@ -565,18 +591,21 @@ end V1NotesGenerateBlock
565591
private command V2NotesCreate pType, pReadableType, pTitle
566592
builderLog "report", merge("Creating [[pReadableType]] release notes")
567593

568-
MarkdownAppend "notes", merge("# [[pTitle]]")
569-
MarkdownAppend "updates", merge("# [[pTitle]]")
570-
571594
local tScannedNotes
572595
put V2NotesScan(pType) into tScannedNotes
573596

574597
local tCollated, tBugInfo
575598
V2NotesCollate pType, tScannedNotes, tCollated, tBugInfo
576599

577-
V2NotesGenerate pType, tCollated, 1
600+
if V2NotesHaveContent(tCollated, tBugInfo) then
601+
MarkdownAppend "notes", merge("# [[pTitle]]")
602+
MarkdownAppend "updates", merge("# [[pTitle]]")
603+
604+
V2NotesGenerate pType, tCollated, 1
605+
606+
BugGenerate tBugInfo, pReadableType
607+
end if
578608

579-
BugGenerate tBugInfo, pReadableType
580609
end V2NotesCreate
581610

582611
-- There isn't actually any difference between the information
@@ -753,31 +782,49 @@ private command V2NotesAppendSection pName, pCollatedSection, @xCollated
753782
put pName into xCollated[tId]["__name"]
754783
end V2NotesAppendSection
755784

785+
private function V2NotesHaveContent pCollated, pBugInfo
786+
if (word 1 to -1 of pCollated["__markdown"]) is not empty then
787+
return true
788+
end if
789+
790+
-- Recurse into child nodes
791+
local tId
792+
repeat with tId = 1 to pCollated["__count"]
793+
if V2NotesHaveContent(pCollated[tId]) then
794+
return true
795+
end if
796+
end repeat
797+
798+
if the number of elements in pBugInfo > 0 then
799+
return true
800+
end if
801+
802+
return false
803+
end V2NotesHaveContent
804+
756805
private command V2NotesGenerate pType, pCollated, pLevel
757806
MarkdownAppend "notes", V2NotesGenerateContent(pType, pCollated, pLevel)
758-
MarkdownAppend "updates", V2NotesGenerateContent(pType, pCollated, pLevel, true)
807+
MarkdownAppend "updates", V2NotesGenerateContent(pType, pCollated, pLevel)
759808
end V2NotesGenerate
760809

761810
-- If <pOnlyCurrent> is true, then only generate content that's brand new in
762811
-- the release that notes are being generated for
763-
private function V2NotesGenerateContent pType, pCollated, pLevel, pOnlyCurrent
812+
private function V2NotesGenerateContent pType, pCollated, pLevel
764813
-- Compute the content from this node + all child nodes
765814
local tContent
766815

767-
if not (pOnlyCurrent is true and (pCollated["__version"] is not sVersion)) then
768-
if (word 1 to -1 of pCollated["__markdown"]) is not empty then
769-
put pCollated["__markdown"] into tContent
770-
if the last char of tContent is not return then
771-
put return after tContent
772-
end if
816+
if (word 1 to -1 of pCollated["__markdown"]) is not empty then
817+
put pCollated["__markdown"] into tContent
818+
if the last char of tContent is not return then
819+
put return after tContent
773820
end if
774821
end if
775822

776823
-- Recurse into all child nodes
777824
local tSectionContent, tHeader
778825

779826
repeat with tId = 1 to pCollated["__count"]
780-
put V2NotesGenerateContent(pType, pCollated[tId], pLevel + 1, pOnlyCurrent) into tSectionContent
827+
put V2NotesGenerateContent(pType, pCollated[tId], pLevel + 1) into tSectionContent
781828

782829
-- Only generate a subsection header if the subsection (and all
783830
-- the subsections it contains) doesn't contain any notes
@@ -1050,7 +1097,7 @@ private function BugUrl pId
10501097
end BugUrl
10511098

10521099
private command BugGenerate pBugInfo, pBugCategory
1053-
V2BugGenerate pBugInfo, pBugCategory
1100+
V1BugGenerate pBugInfo, pBugCategory
10541101
end BugGenerate
10551102

10561103
private command V1BugGenerate pBugInfo, pBugCategory
@@ -1060,7 +1107,7 @@ private command V1BugGenerate pBugInfo, pBugCategory
10601107
GitSortTags tTags
10611108

10621109
local tVersion, tBugs, tCurrent, tLine, tId, tDesc, tUrl
1063-
local tPrettyVersion
1110+
local tPrettyVersion, tBugCount
10641111

10651112
put the number of lines in tTags into tTagCount
10661113
repeat tTagCount times
@@ -1093,12 +1140,20 @@ private command V1BugGenerate pBugInfo, pBugCategory
10931140

10941141
MarkdownAppend "notes", "<tr><td><a href=" & quote & tUrl & quote & ">" & tId & "</a>" & \
10951142
"</td><td>" & tDesc & "</td></tr>"
1143+
1144+
add 1 to tBugCount
10961145
end repeat
10971146

10981147
MarkDownAppend "notes", "</table>"
10991148

11001149
subtract 1 from tTagCount
11011150
end repeat
1151+
1152+
if tBugCount is 1 then
1153+
MarkDownAppend "updates", merge("1 [[pBugCategory]] bug fix.")
1154+
else if tBugCount > 1 then
1155+
MarkDownAppend "updates", merge("[[tBugCount]] [[pBugCategory]] bug fixes.")
1156+
end if
11021157
end V1BugGenerate
11031158

11041159
private command V2BugGenerate pBugInfo, pBugCategory
@@ -1314,16 +1369,17 @@ private function GitGetRelevantTags pType
13141369

13151370
set the itemdelimiter to "."
13161371

1372+
put 0 into tStart
13171373
repeat for each line tLine in tTags
1318-
if tLine begins with item 1 to 2 of sVersion then
1374+
add 1 to tStart
1375+
if tLine begins with item 1 to 3 of sVersion then
13191376
exit repeat
13201377
end if
1321-
add 1 to tStart
13221378
end repeat
1323-
put line tStart to -1 of tTags into tTags
1379+
put line (tStart - 1) to -1 of tTags into tTags
13241380

13251381
repeat for each line tLine in tTags
1326-
if not (tLine begins with item 1 to 2 of sVersion) then
1382+
if not (tLine begins with item 1 to 3 of sVersion) then
13271383
if not (tEnd is 0) then
13281384
exit repeat
13291385
end if
@@ -1359,6 +1415,15 @@ end GitGetChangedFiles
13591415
-- File helpers
13601416
----------------------------------------------------------------
13611417

1418+
private command DeleteByteOrderMarks @xEncoded, pEncoding
1419+
local tBom
1420+
put textEncode(numToCodepoint(0xfeff), pEncoding) into tBom
1421+
1422+
if xEncoded begins with tBom then
1423+
delete byte 1 to (the number of bytes in tBom) of xEncoded
1424+
end if
1425+
end DeleteByteOrderMarks
1426+
13621427
private function FileGetBasename pPath
13631428
set the itemdelimiter to slash
13641429
put item -1 of pPath into pPath
@@ -1406,6 +1471,7 @@ private function FileGetContents pPath, pEncoding
14061471
end if
14071472

14081473
if pEncoding is not empty then
1474+
DeleteByteOrderMarks tContents, pEncoding
14091475
put textDecode(tContents, pEncoding) into tContents
14101476
end if
14111477

docs/dictionary/command/add.lcdoc

Lines changed: 43 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -18,28 +18,60 @@ Example:
1818
add 7 to field 1
1919

2020
Example:
21+
local tSummaryOfInventory
2122
add field "New" to tSummaryOfInventory
2223

2324
Example:
25+
local qty, price, tOrder
2426
add (qty * price) to last line of tOrder
2527

28+
Example:
29+
# Assume the following handler in a button, along with
30+
# field "list1" and field "list2" each containing
31+
# an equal number of return-separated numerals.
32+
# Field "added" is empty.
33+
on mouseUp
34+
local tNumList1, tNumList2
35+
put fld "list1" into tNumList1
36+
put fld "list2" into tNumList2
37+
split tNumList1 by return
38+
split tNumList2 by return
39+
add tNumList2 to tNumList1
40+
combine tNumList1 by row
41+
put tNumList1 into fld "added"
42+
end mouseUp
43+
2644
Parameters:
2745
number: An expression that evaluates to a number.
2846
chunk: A chunk expression specifying a portion of the container.
2947
container: A field, button, or variable, or the message box.
30-
array (array):
48+
array (array): An array variable each of whose elements is a number.
3149
arrayContainer (array): An array variable each of whose elements is a number.
3250

3351
Description:
34-
Use the <add> <command> to add a number to a <container> or a portion of a <container>, or to add two <array|arrays> containing numbers.
35-
36-
The contents of the <container> (or the <chunk> of the <container>) must be a number or an <expression> that <evaluate|evaluates> to a number.
37-
38-
If a <number> is added to an <arrayContainer>, the <number> is added to each <element(keyword)>. If an <array> is added to an <arrayContainer>, both <array|arrays> must have the same number of <element(glossary)|elements> and the same dimension, and each <element(keyword)> in the <array> is added to the corresponding <element(keyword)> of the <arrayContainer>.
39-
40-
If the <container> or an <element(keyword)> of the <arrayContainer> is empty, the <add> <command> treats its contents as zero.
41-
If <container> is a <field> or <button>, the <format> of the sum is determined by the <numberFormat> <property>.
42-
43-
References: field (keyword), element (keyword), button (keyword), numberFormat (property), union (command), multiply (command), sum (function), value (function), format (function), property (glossary), element (glossary), container (glossary), expression (glossary), array (glossary), evaluate (glossary), command (glossary)
52+
Use the <add> <command> to add a number to a <container> or a portion of
53+
a <container>, or to add two <array|arrays> containing numbers.
54+
55+
The contents of the <container> (or the <chunk> of the <container>) must
56+
be a number or an <expression> that <evaluate|evaluates> to a number.
57+
58+
If a <number> is added to an <arrayContainer>, the <number> is added to
59+
each <element(glossary)>. If an <array> is added to an <arrayContainer>,
60+
both <array|arrays> must have the same number of
61+
<element(glossary)|elements> and the same dimension, and each
62+
<element(glossary)> in the <array> is added to the corresponding
63+
<element(glossary)> of the <arrayContainer>.
64+
65+
If the <container> or an <element(glossary)> of the <arrayContainer> is
66+
empty, the <add> <command> treats its contents as zero.
67+
If <container> is a <field> or <button>, the <format> of the sum is
68+
determined by the <numberFormat> <property>.
69+
70+
References: array (glossary), button (object), combine (command),
71+
command (glossary), container (glossary), element (glossary),
72+
element (keyword), evaluate (glossary), expression (glossary),
73+
field (object), format (glossary), multiply (command),
74+
numberFormat (property), property (glossary), split (command),
75+
sum (function), union (command), value (function)
4476

4577
Tags: math

docs/dictionary/command/filter.lcdoc

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,17 @@ characters to match, which may be combined with any number of the following spec
6363
- [char-char] : Matches any character whose unicode codepoint is between the first character and the second character.
6464
- [!chars] : Matches any character which is not one of the characters inside the brackets.
6565

66+
You can match instances of special chars as follows:
67+
68+
- `?` with `[?]`
69+
- `*` with `[*]`
70+
- `[` with `[[]`
71+
- `-` with `-`
72+
- `!` with `!`
73+
74+
For example, the wildcard <filterPattern> `[[]A]*` will match any string
75+
beginning with `[A]`.
76+
6677
The three bracketed forms can be combined to create more complex character classes, for
6778
example the pattern [!abcA-C] matches any character which is not a, b or c (upper or lower case)
6879

docs/dictionary/command/reset-paint.lcdoc

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,14 +25,15 @@ The <reset paint> <command> assigns the following <property> <value|values>:
2525

2626
* The brush <property> is set to 8.
2727
* The brushColor <property> is set to white.
28+
* The brushPattern <property> is set to empty.
2829
* The centered <property> is set to false.
2930
* The eraser <property> is set to 2.
3031
* The filled <property> is set to false.
3132
* The grid <property> is set to false.
3233
* The gridSize <property> is set to 8.
3334
* The lineSize <property> is set to 1.
34-
* The pattern <property> is set to 1.
3535
* The penColor <property> is set to black.
36+
* The penPattern <property> is set to empty.
3637
* The polySides <property> is set to 4.
3738
* The roundEnds <property> is set to false.
3839
* The slices <property> is set to 16.

0 commit comments

Comments
 (0)