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>
This commit is contained in:
glepnir
2024-08-20 19:58:44 +02:00
committed by Christian Brabandt
parent 12333bae01
commit 753794bae8
3 changed files with 11 additions and 1 deletions

View File

@ -1311,7 +1311,8 @@ ins_compl_build_pum(void)
{ {
did_find_shown_match = TRUE; did_find_shown_match = TRUE;
max_fuzzy_score = compl->cp_score; 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) if (!shown_match_ok && compl == compl_shown_match && !compl_no_select)

View File

@ -2654,6 +2654,13 @@ func Test_complete_fuzzy_match()
call feedkeys("Su\<C-X>\<C-L>\<C-P>\<Esc>0", 'tx!') call feedkeys("Su\<C-X>\<C-L>\<C-P>\<Esc>0", 'tx!')
call assert_equal('no one can save me but you', getline('.')) 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 " clean up
set omnifunc= set omnifunc=
bw! bw!

View File

@ -704,6 +704,8 @@ static char *(features[]) =
static int included_patches[] = static int included_patches[] =
{ /* Add new patch number below this line */ { /* Add new patch number below this line */
/**/
684,
/**/ /**/
683, 683,
/**/ /**/