diff options
| author | zeertzjq <zeertzjq@outlook.com> | 2026-09-12 09:09:02 +0800 |
|---|---|---|
| committer | zeertzjq <zeertzjq@outlook.com> | 2026-09-12 09:16:03 +0800 |
| commit | c3ec356554cd8a627fdf3c7b605dd0efdcd3762e (patch) | |
| tree | b4439572cce2729978b45c7171014a890a1eefc1 /runtime/lua/vim/provider/python.lua | |
| parent | 41b187cfcb88951a1378b67292a05356f0530831 (diff) | |
| download | rneovim-c3ec356554cd8a627fdf3c7b605dd0efdcd3762e.tar.gz rneovim-c3ec356554cd8a627fdf3c7b605dd0efdcd3762e.tar.bz2 rneovim-c3ec356554cd8a627fdf3c7b605dd0efdcd3762e.zip | |
vim-patch:9.2.1069: duplicated composing character matching in the NFA engine
Problem: The composing character matching logic is duplicated between the
NFA_COMPOSING case and the NFA_COMPOSING branch inside
NFA_START_COLL in nfa_regmatch().
Solution: Factor the two near-identical paths into a match_composing()
helper (Julien Voisin).
The two blocks differed only in the composing sub-expression's start state
(t->state->out versus t->state->out->out) and in how the NFA_END_COMPOSING
end state is selected, so those stay at the call sites while the shared
matching body moves into match_composing(). A dead loop advancing a local
"sta" past NFA_END_COMPOSING in the \Z branch and a stale commented-out
condition are dropped in the process.
This was found while looking for optimizations opportunities in the regex
engine(s).
closes: vim/vim#21269
https://github.com/vim/vim/commit/7f83a539d65c48c31d3f0fdf6460ca412a639727
Co-authored-by: Julien Voisin <julien.voisin@dustri.org>
Diffstat (limited to 'runtime/lua/vim/provider/python.lua')
0 files changed, 0 insertions, 0 deletions