You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
mcdurdin
changed the title
bug(common): nul, any, and index() have an off-by-one error
bug(developer): nul, any, and index() have an off-by-one error in kmc-kmn:kmw v10 compiler
Feb 21, 2025
mcdurdin
changed the title
bug(developer): nul, any, and index() have an off-by-one error in kmc-kmn:kmw v10 compiler
bug(developer): kmc-kmn kmw compiler generates an incorrect offset for nul ... > index(store,n) when in v10+ mode
Feb 21, 2025
…iler
The cached context comparison for v10 kmw compiler includes the `nul`
statement, unlike the comparison in the earlier compiler. This
difference was missed in earlier iterations including the recent patch
in #13003. This patch fixes the problem for both `context(n)` and
`index(store,n)` offset calculations.
Fixes: #13306Fixes: #13307
Follows: 13003
…iler
The cached context comparison for v10 kmw compiler includes the `nul`
statement, unlike the comparison in the earlier compiler. This
difference was missed in earlier iterations including the recent patch
in #13003. This patch fixes the problem for both `context(n)` and
`index(store,n)` offset calculations.
Fixes: #13306Fixes: #13307
Follows: #13003
With this keyboard in Keyman Core 15.0 or later (e.g. debugger, Keyman for Windows), try typing: te
5t
.5t
(correct).Bugs:
5
.This issue is present in Keyman Core 15.0 and later versions. I have not tested earlier versions.
Note that using
index(cons,1)
gives a compiler error which makes total sense:I have tested the same pattern with
if()
and it works correctly in Keyman Core, KeymanWeb v9 mode, and KeymanWeb v10 mode.Related issues:
context(n)
counts thenul
statement as a character in Web & android #13276The text was updated successfully, but these errors were encountered: