summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorglepnir <glephunter@gmail.com>2024-08-20 19:58:44 +0200
committerChristian Brabandt <cb@256bit.org>2024-08-20 19:58:44 +0200
commit753794bae8a9401903b82e5c5d1f35a106aa912a (patch)
tree573159d6a8d1263dea25ae213e20d233e943e3e0
parent12333bae0175edda16ea2e1201e12224989e3ef2 (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.c3
-rw-r--r--src/testdir/test_ins_complete.vim7
-rw-r--r--src/version.c2
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,