Commit graph

7 commits

Author SHA1 Message Date
Marc Durdin
7fcdfb8f65 fix(developer): restrict invalid characters in identifiers in kmcmplib
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
2025-09-12 10:52:31 +02:00
Marc Durdin
d73b31fae5 chore(developer): update tests to match 2025-08-30 07:10:36 +02:00
Eberhard Beilharz
73605727a0
Update developer/src/kmcmplib/tests/gtest-compiler.tests.cpp
Co-authored-by: Marc Durdin <marc@durdin.net>
2025-07-28 15:01:13 +02:00
Eberhard Beilharz
3ec1338b36
test(developer): add unit tests for isValidUtf8
Follow-up-of: #14369
Test-bot: skip
2025-07-21 17:21:05 +02:00
Eberhard Beilharz
e3dc41f98d
chore(developer): add unit tests for UTF16TempFromUTF8 2025-07-17 17:05:41 +02:00
Marc Durdin
5d16d083bd chore(developer): update unit test error checks 2025-02-21 11:10:53 +07:00
Eberhard Beilharz
66404f9503
chore(developer): rename test files
This change rename the test files for Developer according to the
discussion at the Keyman conference in November 2024.
2024-11-28 14:32:09 +01:00
Renamed from developer/src/kmcmplib/tests/gtest-compiler-test.cpp (Browse further)