Commit graph

2668 commits

Author SHA1 Message Date
Marc Durdin
877cf207a7
Merge pull request #10587 from keymanapp/chore/merge-master-into-linux-mcompile
chore: merge master into linux-mcompile
2024-02-01 17:31:19 +11:00
Marc Durdin
1b88ab99be fix(core): make km_core_state_get_actions() idempotent
Fixes #10582.

Returned struct from the `km_core_state_get_actions()` API is now owned
by the state object. This is a change in API contract. The corresponding
`km_core_actions_dispose()` API has been made private, because there is
never any need for API consumers to call it. As this change is happening
in alpha, we won't bump the ABI version.

`state->app_context` is now guaranteed to be in sync with
`state->context` after `km_core_process_event()`, with the actions
struct populated at that point.

The next and final step in this refactor is to remove the actions queue
altogether from the Core and make that a kmn-only concept, but that will
wait until 18.0. The only consumers of the actions queue are the
kmn-specific interactive debugger in Keyman Developer, and kmn-specific
Input Method eXtensions in Keyman Engine for Windows.
2024-02-01 11:28:08 +07:00
Eberhard Beilharz
02008dc585
fix(linux): Fix version comparison
Implement proper comparison of versions so that 1.10 is newer than 1.9.

Fixes #9593.
2024-01-31 14:47:35 +01:00
Sabine
783dc4b6b4 feat(linux): mcompile-dk :use deadkey(dkmax) , contents of alDead sorted; KMX_ToUnicodeEx returns 0 as well 2024-01-31 12:42:10 +01:00
Eberhard Beilharz
6d5accdaa4
chore(linux): Adjust test expectations for ICU >= 73
ICU 73 comes with CLDR 43 which contains various corrections. This means
that we get different results when we minimize `bmf-Latn`. This change
sets the test expectations based on the ICU version and so allows tests
to pass on Ubuntu 24.04 which comes with ICU 74.
2024-01-31 12:05:14 +01:00
Eberhard Beilharz
5643d2690d
Merge pull request #10561 from keymanapp/chore/linux/noble
chore(linux): Replace Lunar with Noble
2024-01-31 11:34:02 +01:00
Marc Durdin
f546c44048
Merge pull request #10390 from keymanapp/epic/core/9999-normalization
epic: Keyman Core normalization 🌱
2024-01-31 10:45:51 +11:00
Eberhard Beilharz
325ab78881
chore(linux): Replace Lunar with Noble
This change removes Ubuntu 23.04 Lunar and adds support for
Ubuntu 24.04 Noble.
2024-01-30 15:40:41 +01:00
Eberhard Beilharz
60746e02d0
chore(core): Fix compilation error 2024-01-29 18:00:14 +01:00
Eberhard Beilharz
6b5b44eddd
fix(linux): Fix packaging on Ubuntu and Debian servers
When building packages warnings are treated as errors. When building on
Ubuntu and Debian servers we don't have a patched ibus version but still
want to build the packages. So this change outputs a message instead of
a warning when building packages.
2024-01-29 17:50:04 +01:00
Eberhard Beilharz
9183185b8c
Merge pull request #10480 from keymanapp/refactor/linux/10353_actionstruct
refactor(linux): Use `km_core_actions` struct instead of queue 🌱
2024-01-29 16:59:17 +01:00
Sabine
0e849653b2 feat(linux): mcompile-dk remove difference in kmn-file (deadkey(3) + [CTRL K_SPACE] <==> [CTRL "`"] 2024-01-26 12:44:42 +01:00
Marc Durdin
41cc2f4d1e feat(developer): make context_get and context_length public again
Rolls back the privatisation of the km_core_context_get and
km_core_context_length APIs because the debugger uses them.
2024-01-26 06:37:09 +07:00
Eberhard Beilharz
a79e64b02d
chore(linux): Add more debug output 2024-01-25 20:02:22 +01:00
Sabine
0e20c3e34e feat(linux): mcompile-dk shrink contents of alDead 2024-01-24 19:12:07 +01:00
Eberhard Beilharz
e33d5effdd
chore(linux): Fix changelog
Should be a new version...
2024-01-24 17:42:41 +01:00
Eberhard Beilharz
052ac3eae3
chore(linux): Update changelog 2024-01-24 17:33:50 +01:00
Eberhard Beilharz
29c71253db
chore(core): Update debian package to use webkit2 4.1
Ubuntu 20.04 Focal doesn't have webkit2 4.1. The API is the same as
with 4.0, so we use that if we can't find 4.1.
2024-01-24 16:47:22 +01:00
Sabine
53d6f021e2 feat(linux): mcompile-dk more KMX_TranslateDeadkeyKey 2024-01-24 16:08:04 +01:00
Sabine
5a816ec3c5 feat(linux): mcompile-dk KMX_TranslateDeadkeyKey 2024-01-24 15:46:19 +01:00
Eberhard Beilharz
c713cd02cc
refactor(linux): address code review comments 2024-01-24 14:27:43 +01:00
Sabine
bbf3b39201 feat(linux): mcompile newFunc create_alDead, class Deadkey to .h 2024-01-24 10:44:35 +01:00
Jeremy Bícha
7ea8d9648b chore(linux): Build with webkitgtk 4.1 instead of 4.0 2024-01-23 14:40:57 -05:00
Eberhard Beilharz
372af218ca
refactor(linux): Use km_core_state_action_items struct instead of queue
Implements #10353.
2024-01-23 17:05:49 +01:00
Sabine
33c63fb72a feat(linux): mcompile-loader.KMX_ProcessDeadKey 2024-01-22 19:51:46 +01:00
Marc Durdin
07ddea1f2c
Merge pull request #10449 from keymanapp/chore/merge-master-into-linux-mcompile
chore: merge master into linux-mcompile 🐘
2024-01-19 17:43:02 +11:00
Sabine
5769bf04f8 feat(linux): mcompile-deadkeys KMX_get_CharUnderlying_From_SCUnderlying_GDK/if(bDeadkeyConversion) 2024-01-18 12:01:30 +01:00
Marc Durdin
91f5177e0c
chore(linux): update symbols 2024-01-18 16:41:15 +11:00
Sabine
f589087dff feat(linux): mcompile-deadkeys start 2024-01-16 11:05:20 +01:00
Sabine
3f2109b340 feat(linux): mcompile disable comments 2024-01-16 10:45:20 +01:00
Eberhard Beilharz
2f9a7de87c
chore(core): Update symbols file 2024-01-16 09:14:02 +01:00
Marc Durdin
166e4bce97
Merge pull request #10379 from keymanapp/refactor/linux/10365-context-debug
refactor(linux): use `km_core_state_context_debug` 🌱
2024-01-16 13:38:46 +11:00
Marc Durdin
df177569a5 chore(linux): libkeymancore.symbols to .244 2024-01-16 05:55:02 +07:00
Marc Durdin
ba3290de75 chore(core): Merge branch 'master' into feat/core/10365-context-debug
Note: resolved merge conflict with action_api.cpp by shifting new code
into state_context_api.cpp.
2024-01-16 05:46:36 +07:00
Eberhard Beilharz
15d87963b2
chore(core): Ignore C++ symbols
We have a C API, but (internal) C++ template instantiations are visible
and so get flagged by `dpkg-gensymbols`. This change ignores the one
use of C++ by marking it optional. This is listed as a usage scenario
in the dpkg-gensymbols man page.

Note this requires a change how we call dpkg-gensymbols: if the `-O`
parameter is specified, the file is not treated as being a template file
(see man deb-src-symbols) and so the tags are not interpreted.
Additionally the file gets overwritten with the non-tag version. So this
change removes the `-O` parameter, and changes the archiving of the
generated file.
2024-01-15 18:47:53 +01:00
Sabine
f43ca566a6 feat(linux): mcompile disable comments 2024-01-15 17:53:52 +01:00
Marc Durdin
307f7da846 refactor(linux): use km_core_state_context_debug
Relates to #10365.
Fixes #10378.
2024-01-15 08:27:01 +07:00
Marc Durdin
1b29ad32f9 chore(linux): update .symbols 2024-01-15 08:26:43 +07:00
Sabine
c4d723e9fc feat(linux): mcompile review comments 2024-01-12 16:30:37 +01:00
Sabine
417c9bb6aa feat(linux): mcompile review code 2024-01-12 16:23:48 +01:00
Sabine
6a310276f5 feat(linux): mcompile opened some deadkey-functions 2024-01-12 15:37:47 +01:00
Marc Durdin
9830f9ea24 refactor(core): use km_core_state_context_clear where possible
Relates to #10365.

Use `km_core_state_context_clear()` instead of `km_core_context_clear()`
as part of eliminating use of `km_core_state_context()`.
2024-01-12 12:05:00 +07:00
Sabine
474d5d6518 feat(linux): mcompile KMX_VirtualKey KMX_VirtualKey(KMX_HKL hkl,UINT virtualKey, GdkKeymap **keymap) 2024-01-11 17:46:45 +01:00
Sabine
4132d5f43b feat(linux): mcompile work on _S2 comments 2024-01-11 11:13:02 +01:00
Eberhard Beilharz
9b768c57d7
refactor(linux): Use km_core_state_context_set_if_needed
Also update comment on `km_core_state_context_set_if_needed` to make it
clearer that it's expecting a UTF-16 string.

Closes #10212.
2024-01-10 18:57:41 +01:00
Sabine
1ac467bff5 feat(linux): mcompile check files 2024-01-10 13:32:15 +01:00
Sabine
a17ed9f16f feat(linux): mcompile check deadkeys.cpp/h 2024-01-10 10:48:13 +01:00
rc-swag
1cb288144c chore(core): Merge branch 'master' into fix/core/clear-core-context-invalidate 2023-12-19 09:13:43 +10:00
rc-swag
aef718c56b fix(core): update linux test load_source call 2023-12-15 14:05:37 +10:00
Steven R. Loomis
2c852e7530 chore(linux): docker: make emscripten version customizable
Fixes: chore(linux): script deprecation warning from nodesource #10024
2023-12-13 23:23:55 +00:00