While it may be smarter to move to a different build system altogether,
it is also a *lot* more work. This was a fairly minor syntax refresh to
get nmake working with our existing Makefile system. This is now no
longer compatible with Borland make, so you will need to use `nmake` to
build.
The presence of NMAKE.md informs builds systems that nmake should be
used instead of make.
As the array length properties are unsigned integers, taking -1 from
them resulted in an integer overflow when the array was empty. A gotcha
with Delphi-style for loops!
Picked up during #5963 development.
If you ran `kmcomp <file.kmn> <out.js>`, compiler messages were passed
to a function with an incorrect signature, resulting in an exception.
This was a mode that was not widely used, which is why we haven't
picked it up earlier.
Fixes#5464.
The keyboards repository already has code to validate .xsd files, using
xmllint. This adds the same functionality directly into kmcomp and TIKE.
Fixes#5718.
The debugger memo control will now filter out action shortcut keys such
as Ctrl+A, Ctrl+O, so that the keyboard being debugged can get the first
chance to look at them and handle them if it wishes.
If the keyboard does not handle the keystroke, then a set of editor
shortcut keys will be handled by the debugger, namely:
* Ctrl+A - select all
* Ctrl+C - copy
* Ctrl+V - paste
* Ctrl+X - cut
* Ctrl+Z - undo
Note that undo semantics are a little weird with the debugger, but that
is not related to this fix. By a little weird, I mean that characters
emitted by the keyboard being debugged do not flow into the undo buffer,
so undo often has no effect. I am not planning to fix this idiosyncrasy
at this time.
Adds support for testing touch layouts without requiring use of device
emulation. Uses new InlinedOSKView.
Does not yet add a view within Keyman Developer; this will come shortly.
Makes it possible to run the kmlmc.cmd compiler wrapper script from
Keyman Developer while debugging from source.
Adds a new class `TKeymanDeveloperPaths` which is similar to
`TKeymanPaths`, to provide a future single location for all Keyman
Developer path-related functions. There are a number scattered through
the source at present, e.g. in `RedistFiles.pas`, so this is just a
starting point.
Fixes#5695.
When the debugger is in single-step mode, reflects the value of option
stores at the time of the change rather than at the beginning of the
batch.
Fixes#5577.
This ensures that the touch layout file is marked as modified after
running Import From Layout in Keyman Developer, so that changes are
not lost when you save.