Commit graph

911 commits

Author SHA1 Message Date
Steven R. Loomis
bc5a639cff
chore(core): fix for ldml test DTD reference🙀
Typo from earlier fix #10900
2024-03-25 12:02:49 -05:00
Marc Durdin
7f7bbe5030
chore: Apply suggestions from code review
Co-authored-by: rc-swag <58423624+rc-swag@users.noreply.github.com>
2024-03-22 17:31:28 +11:00
Marc Durdin
7136a69ac8 chore(core): fix links and tweaks docs 2024-03-21 06:12:59 +07:00
Marc Durdin
7bfda9881f chore(core): fix typos 2024-03-20 13:30:05 +07:00
Marc Durdin
216d4afdef chore(core): fix typos 2024-03-20 13:09:09 +07:00
Marc Durdin
56e70b82d1 chore(core): add links to other markdown files for v17 2024-03-20 13:08:24 +07:00
Marc Durdin
f43d5aa53f chore: copy change docs into header as well 2024-03-20 12:58:42 +07:00
Marc Durdin
73daec43c1 chore(core): refresh documentation and add build tool
Refreshes all of the public API header documentation so we have a single
source for the documentation -- the keyman_core_api.h header. A lot of
reformatting but very little change in terms of content.

This is converted into Markdown by api-header-extractor, and the results
can be copied to help.keyman.com.

Will only do the main keyman_core_api.h for v17 release, in interests of
time. The other headers are primarily internal only and have many
deprecated functions also.

Will also leave the full automation of the documentation generation to a
future PR. The script will be there but it won't run during build for
now.
2024-03-20 12:56:08 +07:00
Marc Durdin
83ac78ab7c chore(core): refresh API docs for 17.0
Fixes #10580.
2024-03-13 09:23:07 -05:00
Steven R. Loomis
6d2ae221af chore(core,developer,resources): ldml update out of techpreview 🙀
- further fixes
2024-03-04 08:21:45 -06:00
Steven R. Loomis
17a653fa19 chore(core): ldml update out of techpreview 🙀
- updates to support techpreview -> 45
- test changes

Fixes: #10900
2024-03-02 22:40:39 -06:00
Steven R. Loomis
8975a38109 chore(common): ldml update out of techpreview 🙀
- updates to support techpreview -> 45

Fixes: #10900
2024-03-02 22:40:38 -06:00
Steven R. Loomis
209717a24a chore(core,developer): rename unicodeSet to uset in xml
chore(developer): rename unicodeSet to uset 🙀  #10657
2024-02-27 18:11:18 -06:00
Marc Durdin
fbaf5c40cd
Merge pull request #10797 from keymanapp/fix/developer/10737-keymancore-symbols
fix(developer): publish keymancore-1.dll symbols
2024-02-23 08:11:22 +07:00
Steven R. Loomis
b1d74ce809 chore(core): describe what is being tested in each stage
Fixes: #10505
2024-02-22 16:19:21 -06:00
Steven R. Loomis
993f5252e9 chore(core): describe what is being tested in each stage
Fixes: #10505
2024-02-22 13:15:46 -06:00
Marc Durdin
dc93c5495c fix(developer): publish keymancore-1.dll symbols
Fixes #10737.

Two parts to this: first, Keyman Core release build needs to generate
the .pdb file, and second, the build needs to put it and the .dll into
a place where the sentry-cli scan will find it.
2024-02-21 13:53:52 +07:00
Steven R. Loomis
9ef198ff19 chore(core): update sample ldml keyboard
Fixes: #10505
2024-02-20 12:47:25 -06:00
Steven R. Loomis
2ee402c2b8
Update core/src/ldml/ldml_transforms.cpp
Co-authored-by: Marc Durdin <marc@durdin.net>
2024-02-19 12:37:26 -06:00
Steven R. Loomis
6b229ffa14 fix(core): fix output append logic in any_group::apply_transform
- logic updating intermediate 'output' was incorrect
- update comments
- also replace size() with length() several places

Fixes #10736
2024-02-17 23:50:55 -06:00
Steven R. Loomis
ceb990e713 chore(core): more shuffling
For #10736
2024-02-16 18:27:35 -06:00
Steven R. Loomis
746af68afa chore(core): shuffle transform matcher. re-enable failing case
For #10736
2024-02-16 12:49:19 -06:00
Steven R. Loomis
503f196e42 chore(core): update test case with TODO for known issue
For #10734
2024-02-15 16:27:26 -06:00
Steven R. Loomis
e7b31113a3 chore(core): remove obsolete TODOs. Temporary change to test.
- TODO: 10734 There's a bug in the matching still. Come back and fix this, but the crasher is fixed.

For #10734
2024-02-15 16:21:53 -06:00
Steven R. Loomis
5edb70f07a fix(core): fix for ldml_transforms.cpp
For #10734
2024-02-15 15:26:30 -06:00
Steven R. Loomis
e099ffa3a1 chore(core): update ldml_test
- includes crasher from #10734

For #10505
2024-02-15 15:26:09 -06:00
Steven R. Loomis
5f01fca679 chore(core): create sample LDML keyboard that exercises effectively all functionality
- test keyboard was wrong

For #10505
2024-02-15 14:26:44 -06:00
Steven R. Loomis
e415f411e4 chore(core): create sample LDML keyboard that exercises effectively all functionality
- add some more functionality

For #10505
2024-02-15 14:26:44 -06:00
Steven R. Loomis
701291a7f7 chore(core): create sample LDML keyboard that exercises effectively all functionality
For #10505
2024-02-15 14:26:44 -06:00
Marc Durdin
64daa6182b
Merge pull request #10618 from keymanapp/fix/core/10615-10616-10617-core-surrogates-and-app-context-markers-and-memory-leak
fix(core): surrogate handling, markers in app context, and memory leak
2024-02-07 14:43:12 +11:00
Marc Durdin
bcc18bfe8d
Merge pull request #10607 from keymanapp/fix/core/10605-app-context-copy-strip-markers
fix(core): strip markers in `actions_update_app_context_nfu()`
2024-02-07 14:43:01 +11:00
Marc Durdin
6c4d5ff7fa
Merge pull request #10585 from keymanapp/fix/core/10582-km_core_state_get_actions-idempotency
fix(core): make `km_core_state_get_actions()` idempotent
2024-02-07 14:42:50 +11:00
Steven R. Loomis
889e9c1581
Merge pull request #10586 from keymanapp/feat/developer/10554-sometimes-no-norm 2024-02-06 21:38:39 -06:00
Marc Durdin
0cc6901085
Merge branch 'fix/core/10605-app-context-copy-strip-markers' into fix/core/10615-10616-10617-core-surrogates-and-app-context-markers-and-memory-leak 2024-02-07 12:33:33 +11:00
Marc Durdin
232df37400
chore: Update core/src/state.cpp 2024-02-07 12:29:45 +11:00
Marc Durdin
c807415563
chore: Apply suggestions from code review
Co-authored-by: Steven R. Loomis <srl295@gmail.com>
2024-02-07 12:20:56 +11:00
Steven R. Loomis
15b7a42829 feat(core): support normalization=disabled 🙀
- clean up process_output:  remove some unnecessary steps,
refactor into 3 functions, clarify
- reorder functions for ldml_state
- remove extraneous assert() clutter when the normalization
functions already assert/DebugLog at the innermost level

#10554
2024-02-06 16:09:18 -06:00
Marc Durdin
c9eb545c05 refactor(core): more renames to satisfy compiler on linux
Shadowed types are not permitted.
2024-02-05 12:20:44 +07:00
Marc Durdin
6d8cae1f2e refactor(core): is_context_changed() into two functions
Refactors `is_context_changed()` into two functions,
`get_context_change()` and `get_context_items_change()`, to eliminate
use of `goto` for cleanup, and more accurately reflect the purpose of
the function. Also renames some variables referencing the return value
from these functions.

These functions would probably benefit from unit tests proving them.
2024-02-05 12:07:41 +07:00
Marc Durdin
fe8eba176c
Merge branch 'fix/core/10605-app-context-copy-strip-markers' into fix/core/10615-10616-10617-core-surrogates-and-app-context-markers-and-memory-leak 2024-02-05 13:45:03 +11:00
Marc Durdin
49eb6f42a9
Merge branch 'fix/core/10582-km_core_state_get_actions-idempotency' into fix/core/10605-app-context-copy-strip-markers 2024-02-05 13:44:56 +11:00
Marc Durdin
70ba1d1c1e
Merge branch 'chore/core/10520-hide-old-action-apis' into fix/core/10582-km_core_state_get_actions-idempotency 2024-02-05 13:44:47 +11:00
Marc Durdin
aa80992fb8
Merge branch 'feat/windows/use-km-core-actions-struct' into chore/core/10520-hide-old-action-apis 2024-02-05 13:44:36 +11:00
Marc Durdin
9ba919c2a9 fix(core): surrogate handling, markers in app context, and memory leak
Fixes #10615 (surrogate handling, km_core_state_context_set_if_needed).
Fixes #10616 (markers in app context, in unit tests)
Fixes #10617 (memory leak in replace_context).

The surrogate handling and markers in app context bugs were quite
tangled, so opted to fix those both together in one commit. The memory
leak was spotted while verifying the changes for surrogate handling.

Surrogates were not handled in is_context_unchanged, and opted to
refactor to work directly with km_core_context_item arrays rather than
continue with the string-based comparison, for simplicity.

While writing the corresponding unit tests, realised that the
app_context checks were incorrect in a number of existing tests, and so
fixed up the existing tests at the same time as writing up the new
tests. The only changes to core for this were to add assertions for the
app_context to ensure that markers are not inadvertently added.
2024-02-03 09:16:16 +07:00
Marc Durdin
9e50f50687 fix(core): strip markers in actions_update_app_context_nfu()
Fixes #10605.
2024-02-02 15:10:05 +07:00
Steven R. Loomis
71443836a2 feat(developer): support normalization=disabled 🙀
- avoid dead store to transforms class

#10554
2024-02-01 19:05:31 -06:00
Steven R. Loomis
3a538c103f feat(developer): support normalization=disabled 🙀
- test and code fixes

#10554
2024-02-01 18:40:02 -06:00
Steven R. Loomis
7572c9476e feat(developer): support normalization=disabled 🙀
- main core changes and test changes

#10554
2024-02-01 17:32:42 -06:00
Marc Durdin
aad7c0a42b chore(core): fixup typos 2024-02-01 15:05:24 +07:00
Marc Durdin
0b7556870f
chore: Apply suggestions from code review 2024-02-01 18:56:26 +11:00