diff options
author | glepnir <glephunter@gmail.com> | 2024-08-20 19:58:44 +0200 |
---|---|---|
committer | Christian Brabandt <cb@256bit.org> | 2024-08-20 19:58:44 +0200 |
commit | 753794bae8a9401903b82e5c5d1f35a106aa912a (patch) | |
tree | 573159d6a8d1263dea25ae213e20d233e943e3e0 | |
parent | 12333bae0175edda16ea2e1201e12224989e3ef2 (diff) |
patch 9.1.0684: completion is inserted on Enter with "noselect"v9.1.0684
Problem: completion is inserted on Enter with "noselect"
(Carman Fu)
Solution: check noselect before update compl_shown_match
(glepnir)
fixes: #15526
closes: #15530
Signed-off-by: glepnir <glephunter@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
-rw-r--r-- | src/insexpand.c | 3 | ||||
-rw-r--r-- | src/testdir/test_ins_complete.vim | 7 | ||||
-rw-r--r-- | src/version.c | 2 |
3 files changed, 11 insertions, 1 deletions
diff --git a/src/insexpand.c b/src/insexpand.c index 9a8d0faac7..95076b7cd2 100644 --- a/src/insexpand.c +++ b/src/insexpand.c @@ -1311,7 +1311,8 @@ ins_compl_build_pum(void) { did_find_shown_match = TRUE; max_fuzzy_score = compl->cp_score; - compl_shown_match = compl; + if (!compl_no_select) + compl_shown_match = compl; } if (!shown_match_ok && compl == compl_shown_match && !compl_no_select) diff --git a/src/testdir/test_ins_complete.vim b/src/testdir/test_ins_complete.vim index becd0d8d05..aee33936f6 100644 --- a/src/testdir/test_ins_complete.vim +++ b/src/testdir/test_ins_complete.vim @@ -2654,6 +2654,13 @@ func Test_complete_fuzzy_match() call feedkeys("Su\<C-X>\<C-L>\<C-P>\<Esc>0", 'tx!') call assert_equal('no one can save me but you', getline('.')) + " issue #15526 + set completeopt=fuzzy,menuone,menu,noselect + call setline(1, ['Text', 'ToText', '']) + call cursor(2, 1) + call feedkeys("STe\<C-X>\<C-N>x\<CR>\<Esc>0", 'tx!') + call assert_equal('Tex', getline('.')) + " clean up set omnifunc= bw! diff --git a/src/version.c b/src/version.c index 8d26a0dc04..12dae15601 100644 --- a/src/version.c +++ b/src/version.c @@ -705,6 +705,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 684, +/**/ 683, /**/ 682, |