mirror of
https://github.com/keymanapp/keyman.git
synced 2026-08-05 00:15:32 +00:00
The compiler has always been very ambiguous on which characters were accepted in group and store names, even to the point of accepting things like comma in a store name, which would then make it impossible to reference in an `index` statement! This commit clarifies the allowable characters in an identifier. While it would have been possible to use UAX#31 for this, that would have extended the requirements for this change substantially, and may have caused us more trouble with legacy keyboards. Given kmcmplib is end-of-life (see epic/ng-compiler), I have chosen a lower friction approach. There are certainly other characters that could be excluded, but in general I have chosen to exclude only those that will definitely be problematic. The set of allowable characters for deadkeys has actually been expanded in this release to match the store and group name rules. It is expected that there may be some impacted keyboards, but addressing this change will be relatively straightforward, so I consider this to be an acceptable back-compatibility trade-off, see https://github.com/keymanapp/keyman/wiki/Principles-of-Keyman-Code-Changes#4-source-backward-compatibility-keyboard-model-and-package-source-file-formats-should-be-backward-compatible Fixes: #14604 Test-bot: skip Build-bot: skip build:developer |
||
|---|---|---|
| .. | ||
| config | ||
| docs | ||
| src | ||
| .gitignore | ||
| build.sh | ||