Fixes#6799.
For KeymanWeb compiled keyboards, readonly groups should never emit any
output. Rules in these groups permitted only to:
* `use` other readonly groups
* `call` external functions (which MUST NOT emit output)
* `set`, `reset` or `save` store values
The base kmx compiler does emit output for rules in readonly groups.
Thus, the KeymanWeb compiler, when it transpiles from the generated
.kmx, needs to omit output for any readonly group, while avoiding any
other potential change in behaviour.
The BCP47tag is canonicalized in GetUserDefaultLanguage.
Comments updated for the function to make developer aware.
Comments added to GetKeyboardLanguage to make clear that it
can actuall Add/Set a langague in the com object.
Fixes a race condition when compiling multiple packages, where the
temp path may be re-used before the compiler has finished with it.
To take advantage of this fix, I wanted to make sure I was using the
right kmcomp.exe when building unit tests for Keyman Core. This
uncovered a couple of other things:
* Updates Keyman Core build infrastructure to use the current kmcomp.exe
rather than a system-installed one.
* Corrects a bug that was identified by the 15.0 version of kmcomp in
one unit test (duplicate `&NAME` stores -- the meson test script
prepends a `&NAME` store to each source file during build).
@keymanapp-test-bot skip
We can not set the InstallDefalults flag entirely in the
bootstrapmain.pas. Because we do not yet have the Msi Version info.
So we need to do that in RunTools.pas. However, we need to know
if this is continuing set up after a reboot, as we don't look at
previous version info if it is, as it would have been removed.
This is why the ContinueSetup flag has been made available to Runtools
The install defaults flag will set the registry values
to their default values.
This flag can also be used by the installer itself when it needs to
do a restart to continue installing. It can check to see if this is
a fresh install or an upgrade and set the flag accordingly.
There was a time, pre version 11 when the Product version GUID was
the same between versions. That is no longer the case.
Now we only set defaults if no previous installed version exists.
Fixes#2749.
Adds a Clear All button which does the same as Edit/Clear Selection.
At the same time, fixes the Clear code for transparent background
colours; previously, clear all with transparent background gave a black
fill.
Fixes#2750.
This tweaks the More Help link to open the correct part of the Keyboard
Editor help page. Goes together with keymanapp/help.keyman.com#526.
The context help data needs a consolidated rewrite. This does not
attempt to touch that, nor does it attempt to add more contextual help
links for any other part of the Developer IDE. That is work for another
day...