spiegel-keyman/developer/src/tike/compile
Marc Durdin 73e0a2e461 fix(developer): generate valid js when using unquoted digits in stores
Fixes #7005.

If a developer used single digit values in stores, unquoted (which is
not really the usual approach, but should work just fine for non-zero
values), the KMW compiler would emit invalid single-digit hexadecimal
escapes for them, e.g. `"\x1"` instead of `"\x01"`.

Sample code:

```
store(option) 1

if(option = 1) + 'a' > 'one'
if(option = 2) + 'a' > 'two'
+ '1' > set(option = 1)
+ '2' > set(option = 2)
```

It is not immediately obvious from this code, but the value `1` is
actually a character with value `'\x01'` or `U+0001`!

The more usual approach will not encounter this problem:

```
store(option) '1'

if(option = '1') + 'a' > 'one'
if(option = '2') + 'a' > 'two'
+ '1' > set(option = '1')
+ '2' > set(option = '2')
```

Note that the following is a compile error (due to internal use of
null terminated strings).

```
store(option) 0
```
2022-09-28 17:00:55 +10:00
..
CompileKeymanWeb.pas fix(developer): generate valid js when using unquoted digits in stores 2022-09-28 17:00:55 +10:00
JsonExtractKeyboardInfo.pas chore(developer): move source files to /developer/src 2022-05-18 10:34:48 +10:00
keyman32_int.pas chore(developer): move source files to /developer/src 2022-05-18 10:34:48 +10:00
KeymanWebKeyCodes.pas chore(developer): move source files to /developer/src 2022-05-18 10:34:48 +10:00
MergeKeyboardInfo.pas chore(developer): move source files to /developer/src 2022-05-18 10:34:48 +10:00
ValidateKeyboardInfo.pas chore(developer): move source files to /developer/src 2022-05-18 10:34:48 +10:00