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

Commit 27d5956

Browse files
Merge branch 'refactor-syntax_unicode' into refactor-syntax_unicode_server
2 parents b215f78 + 8ff27a6 commit 27d5956

89 files changed

Lines changed: 731 additions & 234 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
Lines changed: 81 additions & 46 deletions
Original file line numberDiff line numberDiff line change
@@ -1,48 +1,83 @@
11
<doc>
2-
<legacy_id>3517</legacy_id>
3-
<name>arrayEncode</name>
4-
<type>function</type>
5-
<syntax>
6-
<example>arrayEncode(<i>array</i>)</example>
7-
</syntax>
8-
<library></library>
9-
<objects>
10-
</objects>
11-
<synonyms>
12-
</synonyms>
13-
<classification>
14-
<category>Writing LiveCode</category>
15-
</classification>
16-
<references>
17-
<function tag="arrayDecode">arrayDecode Function</function>
18-
<function tag="keys">keys Function</function>
19-
<keyword tag="[]">[] Keyword</keyword>
20-
<command tag="write to socket">write to socket Command</command>
21-
</references>
22-
<history>
23-
<introduced version="3.5">Added.</introduced>
24-
</history>
25-
<platforms>
26-
<mac/>
27-
<windows/>
28-
<linux/>
29-
<ios/>
30-
<android/>
31-
</platforms>
32-
<classes>
33-
<desktop/>
34-
<server/>
35-
<web/>
36-
<mobile/>
37-
</classes>
38-
<security>
39-
</security>
40-
<summary>Serializes a LiveCode array.</summary>
41-
<examples>
42-
<example>savePreferencesData "displayOptions", arrayEncode(sDisplayOptionsArray)</example>
43-
<example>write urlEncode(arrayEncode(tArray)) to socket tSocket</example>
44-
</examples>
45-
<description>
46-
<p>Use the <b>arrayEncode</b> function to convert an array into a string so that it can be saved to a file or sent across a network.</p><p/><p><b>Parameters:</b></p><p>The <i>array</i> is a LiveCode array.</p><p/><p><b>Value:</b></p><p>The <b>arrayEncode</b> function returns a string of binary data that represents the data and structure of the specified array.</p><p/><p><b>Comments:</b></p><p>The string returned by the <b>arrayEncode</b> function is designed to be used to transfer arrays to remote machines or to save them to a file on disk. It is an opaque, binary encoding of the data contained in the array. The original array can be rebuilt by using the arrayDecode function. Encoded arrays cannot easily be modified, and should always be converted back into real arrays before attemping to access or modify them. </p><p/><p>To send an encoded array to a remote process over TCP/IP, it should be encoded using the <function tag="URLEncode">URLEncode function</function>, as it may contain characters not suitable for use in URLs.</p><p/><p><b>Note:</b> Arrays in LiveCode are un-ordered. This means in particular that encoding two arrays will not necessarily produce the same result, even if the arrays had the same elements. To compare two arrays, simply use the <operator tag="=">= operator</operator> directly on them rather than encoding them first.</p><p/>
47-
</description>
2+
<legacy_id>3517</legacy_id>
3+
<name>arrayEncode</name>
4+
<type>function</type>
5+
6+
<syntax>
7+
<example>arrayEncode(array,[version])</example>
8+
<example></example>
9+
</syntax>
10+
11+
<synonyms>
12+
</synonyms>
13+
14+
<summary>Serializes a LiveCode array.</summary>
15+
16+
<examples>
17+
<example><p>savePreferencesData "displayOptions", arrayEncode(sDisplayOptionsArray)</p></example>
18+
<example><p>write urlEncode(arrayEncode(tArray)) to socket tSocket</p></example>
19+
<example><p></p></example>
20+
<example><p></p></example>
21+
<example><p></p></example>
22+
</examples>
23+
24+
<history>
25+
<introduced version="3.5">Added.</introduced>
26+
<deprecated version=""></deprecated>
27+
<removed version=""></removed>
28+
<changed version="7.0">Optional version parameter added</changed>
29+
<experimental version=""></experimental>
30+
<nonexperimental version=""></nonexperimental>
31+
</history>
32+
33+
<objects>
34+
</objects>
35+
36+
<platforms>
37+
<mac/>
38+
<windows/>
39+
<linux/>
40+
<ios/>
41+
<android/>
42+
</platforms>
43+
44+
<classes>
45+
<desktop/>
46+
<server/>
47+
<web/>
48+
<mobile/>
49+
</classes>
50+
51+
<security>
52+
</security>
53+
54+
55+
<classification>
56+
<category>Writing LiveCode</category>
57+
<category></category>
58+
</classification>
59+
60+
<references>
61+
<function tag="arrayDecode">arrayDecode function</function>
62+
<function tag="keys">keys function</function>
63+
<command tag="write to socket">write to socket command</command>
64+
<keyword tag="[]">[] keyword</keyword>
65+
</references>
66+
67+
<description>
68+
<overview>Use the <b>arrayEncode</b> function to convert an array into a string so that it can be saved to a file or sent across a network.</overview>
69+
70+
<parameters>
71+
<parameter>
72+
<name>array</name>
73+
<description>The array is a LiveCode array.</description>
74+
</parameter>
75+
<parameter>
76+
<name>version</name>
77+
<description>If present, and >= "7.0" then the array is encoded in such a way as to preserve unicode in keys and values, as well as NUL chars in keys and values</description>
78+
</parameter> </parameters>
79+
80+
<value>The <b>arrayEncode</b> function returns a string of binary data that represents the data and structure of the specified array.</value>
81+
<comments><p>The string returned by the arrayEncode function is designed to be used to transfer arrays to remote machines or to save them to a file on disk. It is an opaque, binary encoding of the data contained in the array. The original array can be rebuilt by using the arrayDecode function. Encoded arrays cannot easily be modified, and should always be converted back into real arrays before attemping to access or modify them. </p><p></p><p>To send an encoded array to a remote process over TCP/IP, it should be encoded using the URLEncode function, as it may contain characters not suitable for use in URLs.</p><p></p><p><b>Note:</b> Arrays in LiveCode are un-ordered. This means in particular that encoding two arrays will not necessarily produce the same result, even if the arrays had the same elements. To compare two arrays, simply use the = operator directly on them rather than encoding them first.</p><p></p></comments>
82+
</description>
4883
</doc>

docs/dictionary/function/textDecode.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -119,6 +119,6 @@
119119
</parameter> </parameters>
120120

121121
<value>Returns the binaryData as text.</value>
122-
<comments>The <b>uniDecode</b> function takes binary data, in the specified encoding, and returns the given string as text.<p></p><p>It is highly recommended that any time you interface with things outside LiveCode (files, network sockets, processes, etc) that you explicitly <function tag="textEncode">textEncode</function> any text you send outside LiveCode and textDecode all text received into LiveCode. If this doesnt happen, a platform-dependent encoding will be used (which normally does not support Unicode text).</p><p></p><p>It is not, in general, possible to reliably auto-detect text encodings so please check the documentation for the programme you are communicating with to find out what it expects. If in doubt, try UTF-8.</p></comments>
122+
<comments>The <b>textDecode</b> function takes binary data, in the specified encoding, and returns the given string as text.<p></p><p>It is highly recommended that any time you interface with things outside LiveCode (files, network sockets, processes, etc) that you explicitly <function tag="textEncode">textEncode</function> any text you send outside LiveCode and textDecode all text received into LiveCode. If this doesnt happen, a platform-dependent encoding will be used (which normally does not support Unicode text).</p><p></p><p>It is not, in general, possible to reliably auto-detect text encodings so please check the documentation for the programme you are communicating with to find out what it expects. If in doubt, try UTF-8.</p></comments>
123123
</description>
124124
</doc>

docs/dictionary/function/textEncode.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -119,6 +119,6 @@
119119
</parameter> </parameters>
120120

121121
<value>Returns the <i>stringToEncode</i> as binary data.</value>
122-
<comments>The <b>uniEncode</b> function takes text, and returns it as binary data, encoded with the specified encoding.<p></p><p>It is highly recommended that any time you interface with things outside LiveCode (files, network sockets, processes, etc) that you explicitly <function tag="textEncode">textEncode</function> any text you send outside LiveCode and <function tag="textDecode">textDecode</function> all text received into LiveCode. If this doesnt happen, a platform-dependent encoding will be used (which normally does not support Unicode text).</p><p></p><p>It is not, in general, possible to reliably auto-detect text encodings so please check the documentation for the programme you are communicating with to find out what it expects. If in doubt, try UTF-8.</p></comments>
122+
<comments>The <b>textEncode</b> function takes text, and returns it as binary data, encoded with the specified encoding.<p></p><p>It is highly recommended that any time you interface with things outside LiveCode (files, network sockets, processes, etc) that you explicitly <function tag="textEncode">textEncode</function> any text you send outside LiveCode and <function tag="textDecode">textDecode</function> all text received into LiveCode. If this doesnt happen, a platform-dependent encoding will be used (which normally does not support Unicode text).</p><p></p><p>It is not, in general, possible to reliably auto-detect text encodings so please check the documentation for the programme you are communicating with to find out what it expects. If in doubt, try UTF-8.</p></comments>
123123
</description>
124124
</doc>

docs/dictionary/keyword/sentence.xml

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313

1414
<examples>
1515
<example><p>put "This is the first sentence. This is the second sentence." into tText</p><p>put sentence 2 of tText -- returns "This is the second sentence."</p></example>
16-
<example><p>put "The green apple costs $0.50, the red apple costs $0.60. Which one should I buy?" into tText</p><p>put the first sentence of tText -- returns "The green apple costs $0.50, the red apple costs $0.60."</p></example>
16+
<example><p>put "The green apple costs $0.50, the red apple costs $0.60. Which one should I buy?" into tText</p><p>put the first sentence of tText -- returns "The green apple costs $0.50, the red apple costs $0.60. " also note that the space after the full stop is included in the return value.</p></example>
1717
</examples>
1818

1919
<history>
@@ -49,6 +49,7 @@
4949

5050
<classification>
5151
<category>Text and Data Processing</category>
52+
<category></category>
5253
</classification>
5354

5455
<references>
@@ -69,6 +70,6 @@
6970
</parameters>
7071

7172
<value></value>
72-
<comments>A <b>sentence</b> is a chunk delimited by Unicode sentence breaks, as determined by the ICU Library. A sentence can contain multiple words, but not multiple lines.<p></p><p></p><note> The sentence chunk includes the punctuation mark at the end of the sentence, if there is one.</note></comments>
73+
<comments><p>A <b>sentence</b> is a chunk delimited by Unicode sentence breaks, as determined by the ICU Library. A sentence can contain multiple words, but not multiple lines.</p><p></p><p><b>Note: </b> The sentence chunk includes the punctuation mark at the end of the sentence, if there is one. It will also include any trailing spaces. The rules describing Unicode sentence breaks are available at <a>http://www.unicode.org/reports/tr29/#Sentence_Boundaries</a>.</p></comments>
7374
</description>
7475
</doc>
Lines changed: 87 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,87 @@
1+
<doc>
2+
<legacy_id></legacy_id>
3+
<name>cursorMovement</name>
4+
<type>property</type>
5+
6+
<syntax>
7+
<example>set the cursorMovement of field to {visual | logical | empty}</example>
8+
</syntax>
9+
10+
<synonyms>
11+
</synonyms>
12+
13+
<summary>Sets the mechanism for moving the cursor in fields containing both left-to-right and right-to-left text.</summary>
14+
15+
<examples>
16+
<example><p>set the cursorMovement of field "example" to "visual"</p></example>
17+
</examples>
18+
19+
<history>
20+
<introduced version="7.0">Added.</introduced>
21+
<deprecated version=""></deprecated>
22+
<removed version=""></removed>
23+
24+
<experimental version=""></experimental>
25+
<nonexperimental version=""></nonexperimental>
26+
</history>
27+
28+
<objects>
29+
<field/>
30+
</objects>
31+
32+
<platforms>
33+
<mac/>
34+
<windows/>
35+
<linux/>
36+
<ios/>
37+
<android/>
38+
</platforms>
39+
40+
<classes>
41+
<desktop/>
42+
<server/>
43+
<web/>
44+
<mobile/>
45+
</classes>
46+
47+
<security>
48+
</security>
49+
50+
51+
<classification>
52+
<category></category>
53+
<category></category>
54+
<category></category>
55+
</classification>
56+
57+
<references>
58+
<property tag="textDirection">textDirection property</property>
59+
</references>
60+
61+
<description>
62+
<overview>Use the <b>cursorMovement</b> property to set the mechanism that is to be used for moving the cursor in a field.</overview>
63+
64+
<parameters>
65+
<parameter>
66+
<name>mechanism</name>
67+
<description>The mechanism to be used used for moving the cursor in a field</description>
68+
<options title="">
69+
<option>
70+
<item>visual</item>
71+
<description>moves the cursor in visual order</description>
72+
</option>
73+
<option>
74+
<item>logical</item>
75+
<description>moves the cursor to the next character in logical (reading) order</description>
76+
</option>
77+
<option>
78+
<item>empty</item>
79+
<description>moves the cursor using the default behavior on the current platform</description>
80+
</option>
81+
</options>
82+
</parameter> </parameters>
83+
84+
<value></value>
85+
<comments><p>The <b>cursorMovement</b> property sets the mechanism that is to be used for moving the cursor in fields containing both left-to-right and right-to-left text.</p><p></p><p>The "visual" cursor movement mechanism moves the cursor in visual order, i.e pressing left will always move the cursor one position to the left. This is the default cursor movement on OS X.</p><p></p><p>The "logical" cursor movement moves the cursor to the next character in logical (reading) order when the left arrow is pressed and to the previous logical character when the right arrow is pressed. This is the default cursor movement on Windows.</p><p></p><p>Setting the <b>cursorMovement</b> property to empty indicates that the engine should use the default behaviour for the platform that it is being run on.</p></comments>
86+
</description>
87+
</doc>
Lines changed: 86 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,86 @@
1+
<doc>
2+
<legacy_id></legacy_id>
3+
<name>textDirection</name>
4+
<type>property</type>
5+
6+
<syntax>
7+
<example>set the textDirection of field to {ltr | rtl | empty}</example>
8+
</syntax>
9+
10+
<synonyms>
11+
</synonyms>
12+
13+
<summary>Specifies whether the field should lay out its contents in a left-to-right or right-to-left manner.</summary>
14+
15+
<examples>
16+
<example><p>set the textDirection of field "name input" to "rtl"</p></example>
17+
</examples>
18+
19+
<history>
20+
<introduced version="7.0">Added.</introduced>
21+
<deprecated version=""></deprecated>
22+
<removed version=""></removed>
23+
<changed version=""></changed>
24+
<experimental version=""></experimental>
25+
<nonexperimental version=""></nonexperimental>
26+
</history>
27+
28+
<objects>
29+
<field/>
30+
</objects>
31+
32+
<platforms>
33+
<mac/>
34+
<windows/>
35+
<linux/>
36+
<ios/>
37+
<android/>
38+
</platforms>
39+
40+
<classes>
41+
<desktop/>
42+
<server/>
43+
<web/>
44+
<mobile/>
45+
</classes>
46+
47+
<security>
48+
</security>
49+
50+
51+
<classification>
52+
<category></category>
53+
<category></category>
54+
</classification>
55+
56+
<references>
57+
<property tag="cursorMovement">cursorMovement property</property>
58+
</references>
59+
60+
<description>
61+
<overview>Use the <b>textDirection </b>property of a field to specify how the contents of a field should be laid out.</overview>
62+
63+
<parameters>
64+
<parameter>
65+
<name>direction</name>
66+
<description>The direction to be used to lay out the contents of a field</description>
67+
<options title="">
68+
<option>
69+
<item>ltr</item>
70+
<description>Left-to-right</description>
71+
</option>
72+
<option>
73+
<item>rtl</item>
74+
<description>Right-to-left</description>
75+
</option>
76+
<option>
77+
<item>empty</item>
78+
<description>Auto-detect based on the contents of the field.</description>
79+
</option>
80+
</options>
81+
</parameter> </parameters>
82+
83+
<value></value>
84+
<comments><p>The <b>textDirection </b>property of a field species how the contents of a field should be laid out.</p><p></p><p>The "ltr" direction specifies that the contents of the field are to be laid out in a left-to-right manner. Tabs and lines start at the left-hand side. Runs of RTL text will still be arranged correctly but will be aligned to the left.</p><p></p><p>The "rtl" direction specifies that the contents of the field are to be laid out in a right-to-left manner. Tabs and lines start at the right-hand side. Runs of LTR text will still be arranged correctly but will be aligned to the right.</p><p></p><p>Setting the <b>textDirection</b> property to empty indicates that the engine should auto-detect LTR or RTL behaviour based on the contents of the field. To do this, it looks for the first strongly-directional character in the field (e.g a Latin letter or an Arabic letter).</p></comments>
85+
</description>
86+
</doc>

docs/notes/bugfix-12074.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
# Answer dialog messages should be aligned to the right

docs/notes/bugfix-12246.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
# Serial I/O fails on write

docs/notes/bugfix-12344.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
# Can't open recent file

docs/notes/bugfix-12345.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
# AVD's appear in the list but can't be selected for testing.

0 commit comments

Comments
 (0)