Given we've just run a build, this (a) seems unnecessary, and (b) seems
to go wrong in some circumstances anyway, e.g.
https://build.palaso.org/buildConfiguration/Keyman_Developer_Release/421326?buildTab=log&focusLine=19936&linesState=18839&logView=flowAware:
```
07:01:29 > @keymanapp/kmc@17.0.205-alpha prepublishOnly
07:01:29 > npm run build
07:01:29
07:01:31
07:01:31 > @keymanapp/kmc@17.0.205-alpha build
07:01:31 > tsc -b
07:01:31
07:01:35 ../../../common/web/types/build/src/kmx/kmx.d.ts(1,1): error TS1036: Statements are not allowed in ambient contexts.
07:01:35 ../../../common/web/types/build/src/kmx/kmx.d.ts(1,2): error TS1345: An expression of type 'void' cannot be tested for truthiness.
...
```
Fixes#9930.
* Fixes the index offset calculation, with +1 for >=v10.0 keyboards and
-1 for <v10.0 keyboards (difference is because older version keyboards
have context offsets calculated in the opposite direction). Note that
this happened because the `CODE_CONTEXTEX` index is stored in memory
as 0-based in kmc, but was 1-based in kmcomp.
* Adds unit tests for v9.0 and v10.0 keyboards for `context(n)` in
context.
* Adds unit tests for v9.0 and v10.0 keyboards for `context(n)` in
output. These were already correct but now we can be assured that
they are being tested.
* Enables code coverage for kmw-compiler, and sets a lower threshold for
pass because coverage is still just over 70%.
- bn-bengali with a basic test
- fr-optimise
- note: disabling bengali reorders for now, not working properly due to tertiary reordering feat(core): tertiary reorders 🙀#9707
For: #9916
When didn't set the correct environment when building Debian packages
with GitHub actions. The version information wasn't included in the
source file but instead was generated at binary package build time,
at which time not all necessary environment variables were available.
This change will create a patch file on-the-fly which gets
included in the source package that contains the correct information.
Fixes#9878.
Fixes#9923.
These are no longer used because we now use kmc for builds. This also
means that the kmcomp-x64-structures test is no longer required, because
that was used to keep the Delphi and C++ structures in sync.
There are some minor details around error message identifiers that are
still present in a handful of places, but they are work for another
time.
Fixes#7851.
Note that this fixes the selection pop issue with duplicate ids in some
scenarios but not all. For example, the undo stack doesn't have enough
detail at this point to be able to track this. This fix addresses the
most egregious issue relating to key size adjustment and similar.
Fixes#8000.
In earlier versions of KeymanWeb, it was assumed that layer switch keys
would not necessarily need an identifier, as they would not be
generating a standard KeymanWeb key event. However, this assumption does
not really hold, so we should be warning on missing identifiers for
layer switch keys.
Renames two messages.ts to kmn-compiler-messages.ts and
kmw-compiler-messages.ts, as otherwise confusion reigns.
Also a minor cleanup of the error messages from touch layout processing,
to clarify message names and return appropriate message for missing
layout file.