changeset 36000:20316ae9790d v9.1.0684

patch 9.1.0684: completion is inserted on Enter with "noselect" Commit: https://github.com/vim/vim/commit/753794bae8a9401903b82e5c5d1f35a106aa912a Author: glepnir <glephunter@gmail.com> Date: Tue Aug 20 19:58:44 2024 +0200 patch 9.1.0684: completion is inserted on Enter with "noselect" 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>
author Christian Brabandt <cb@256bit.org>
date Tue, 20 Aug 2024 20:15:03 +0200
parents ecb5d46edd81
children d77b2a6c4532
files src/insexpand.c src/testdir/test_ins_complete.vim src/version.c
diffstat 3 files changed, 11 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- 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)
--- 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!
--- 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,