neovim

Neovim text editor
git clone https://git.dasho.dev/neovim.git
Log | Files | Refs | README

commit 0af780e8df849f6d393873124afaa31681ab43ec
parent e39cdafed96813567128c931a6b784b6858dcc13
Author: zeertzjq <zeertzjq@outlook.com>
Date:   Sat, 22 Mar 2025 06:32:49 +0800

vim-patch:9.1.1228: completion: current position column wrong after got a match

Problem:  The current_pos.col was incorrectly updated to the length of
          the matching text. This will cause the next search to start
          from the wrong position.
Solution: current_pos has already been updated in search_str_in_line and
          does not need to be changed (glepnir)

closes: vim/vim#16941

https://github.com/vim/vim/commit/5753084042e17d794627d77e4300def031ce5498

Co-authored-by: glepnir <glephunter@gmail.com>

Diffstat:
Msrc/nvim/search.c | 1-
Mtest/old/testdir/test_ins_complete.vim | 4++++
2 files changed, 4 insertions(+), 1 deletion(-)

diff --git a/src/nvim/search.c b/src/nvim/search.c @@ -3749,7 +3749,6 @@ bool search_for_fuzzy_match(buf_T *buf, pos_T *pos, char *pattern, int dir, pos_ } } *len = (int)(next_word_end - *ptr); - current_pos.col = *len; } } *pos = current_pos; diff --git a/test/old/testdir/test_ins_complete.vim b/test/old/testdir/test_ins_complete.vim @@ -2996,6 +2996,10 @@ func Test_complete_fuzzy_collect() call feedkeys("Sh\<C-X>\<C-K>\<C-N>\<C-N>\<CR>\<Esc>0", 'tx!') call assert_equal('think', getline(line('.') - 1)) + call setline(1, ['foo bar fuzzy', 'completefuzzycollect']) + call feedkeys("Gofuzzy\<C-X>\<C-N>\<C-N>\<C-N>\<C-Y>\<Esc>0", 'tx!') + call assert_equal('completefuzzycollect', getline('.')) + bw! bw! set dict&