spiegel-keyman/developer
Marc Durdin ef212c7e66 fix(developer): emit compile error when unsupported statements encountered in stores
When a store contains any unsupported statement (any, baselayout, beep,
call, context, if, index, layer, notany, nul, platform, reset, save,
set, use) or undocumented statement (clearcontext, fix, switch), then
emit a compile error. Previously, compiler would not detect use of these
statements in stores, which could lead to undefined behaviour at
runtime.

At time of writing, eight keyboards in the keyboards repository
(clavbur9, hausa_ajami_qwerty, sil_cameroon_qwerty, sil_cameroon_azerty,
sil_dzongkha, sil_yoruba8, sil_yoruba_bar, sil_yoruba_dot) make use of
either beep or nul in stores. Due to compiler unfolding of any/index
statements for key part of the rule, these would work in some cases, but
this was never supported explicitly nor completely, and so at this point
it is better to prevent misuse and add full support as a future task.

Fixes: #16718
Test-bot: skip
2026-10-03 11:41:42 +02:00
..
docs feat(developer): support output folder and --continue-on-error 2026-08-28 10:29:28 +02:00
src fix(developer): emit compile error when unsupported statements encountered in stores 2026-10-03 11:41:42 +02:00
.gitignore chore(developer): move server with no changes 2022-05-23 12:15:34 +10:00
build.sh maint(common): consolidate builder scripts 2025-08-02 08:11:24 +10:00