diff options
| author | zeertzjq <zeertzjq@outlook.com> | 2026-07-22 17:32:24 +0800 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2026-07-22 09:32:24 +0000 |
| commit | c9326e6df84ce710c540d241a7bc3e39c19dc912 (patch) | |
| tree | 1e25d6a0d6f4752bfbbe68a0758ffdbd7e85792b /runtime/lua/vim | |
| parent | a277c08d98e999ff6a59ec1bcd39d7de374c8579 (diff) | |
| download | rneovim-c9326e6df84ce710c540d241a7bc3e39c19dc912.tar.gz rneovim-c9326e6df84ce710c540d241a7bc3e39c19dc912.tar.bz2 rneovim-c9326e6df84ce710c540d241a7bc3e39c19dc912.zip | |
vim-patch:9.2.0825: regexp: submatch in a look-behind is empty with the NFA engine (#40899)
Problem: With the NFA engine a sub-expression inside a variable width
look-behind, e.g. "\v(.)@<=", is empty for the first match on
every line except the first one. The old engine is correct
(Mukundan)
Solution: The look-behind is retried from the previous line, because the
width of "." is over-estimated. While scanning that line the
start state is added at the end of the line, where it gets the
position of the line break as its start position, even though
the match actually starts on the next line. Use the position
of the start of the next line in that case (Hirohito Higashi).
fixes: vim/vim#20802
closes: vim/vim#20805
https://github.com/vim/vim/commit/ade577e4dc2a9f34d2d592cbe1c80b9fc89753bf
Co-authored-by: Hirohito Higashi <h.east.727@gmail.com>
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Diffstat (limited to 'runtime/lua/vim')
0 files changed, 0 insertions, 0 deletions