neovim

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

commit 821bfc02fbae7f1cf984037cf479c9cbc0eb1418
parent 516363e6baa0329dac4b048526e3deadb0d580d0
Author: zeertzjq <zeertzjq@outlook.com>
Date:   Tue, 26 Aug 2025 07:24:21 +0800

vim-patch:9.1.1685: Missing changes from PR 18068 (#35482)

Problem:  Missing changes from PR 18068
Solution: Include the missing changes
          (Girish Palya)

https://github.com/vim/vim/commit/c6a0f42cdb8b0d9c5beda98176caad0cf48550c2

Co-authored-by: Girish Palya <girishji@gmail.com>
Diffstat:
Mruntime/doc/insert.txt | 4++--
Msrc/nvim/insexpand.c | 2+-
Mtest/old/testdir/test_ins_complete.vim | 10+++++++++-
3 files changed, 12 insertions(+), 4 deletions(-)

diff --git a/runtime/doc/insert.txt b/runtime/doc/insert.txt @@ -1126,8 +1126,8 @@ time slice. This mode is fully compatible with other completion modes. You can invoke any of them at any time by typing |CTRL-X|, which temporarily suspends -autocompletion. To use |i_CTRL-N| specifically, press |CTRL-E| first to -dismiss the popup menu (see |complete_CTRL-E|). +autocompletion. To use |i_CTRL-N| or |i_CTRL-X_CTRL-N| specifically, press +|CTRL-E| first to dismiss the popup menu (see |complete_CTRL-E|). See also 'autocomplete', 'autocompletetimeout' and 'autocompletedelay'. diff --git a/src/nvim/insexpand.c b/src/nvim/insexpand.c @@ -356,7 +356,7 @@ void ins_ctrl_x(void) { if (!ctrl_x_mode_cmdline()) { // if the next ^X<> won't ADD nothing, then reset compl_cont_status - if ((compl_cont_status & CONT_N_ADDS) && !p_ac) { + if (compl_cont_status & CONT_N_ADDS) { compl_cont_status |= CONT_INTRPT; } else { compl_cont_status = 0; diff --git a/test/old/testdir/test_ins_complete.vim b/test/old/testdir/test_ins_complete.vim @@ -5311,7 +5311,7 @@ func Test_autocomplete_trigger() " Test 4a: When autocomplete menu is active, ^X^N completes buffer keywords let g:CallCount = 0 - call feedkeys("S#a\<C-X>\<C-N>\<F2>\<Esc>0", 'tx!') + call feedkeys("S#a\<C-E>\<C-X>\<C-N>\<F2>\<Esc>0", 'tx!') call assert_equal(['abc', 'abcd'], b:matches->mapnew('v:val.word')) call assert_equal(2, g:CallCount) @@ -5338,6 +5338,14 @@ func Test_autocomplete_trigger() call assert_equal(['afoo bar', 'and'], b:matches->mapnew('v:val.word')) call assert_equal(1, g:CallCount) + " Issue #18044 + %d + call setline(1, ["first line", "second line"]) + call feedkeys("Gof\<C-X>\<C-L>\<Esc>", 'tx!') + call assert_equal("first line", getline(3)) + call feedkeys("Sf\<C-X>\<C-L>\<C-X>\<C-L>\<Esc>", 'tx!') + call assert_equal("second line", getline(4)) + " Test 5: When invalid prefix stops completion, backspace should restart it %d set complete&