0
0
mirror of https://github.com/vim/vim.git synced 2025-07-04 23:07:33 -04:00

patch 8.2.1673: complete_info() selected index has an invalid value

Problem:    complete_info() selected index has an invalid value. (Ben Jackson)
Solution:   Set the index when there is only one match. (closes #6945)
            Add test for complete_info().
This commit is contained in:
Bram Moolenaar 2020-09-12 22:52:57 +02:00
parent 4a091b9978
commit b806aa5bd9
3 changed files with 21 additions and 0 deletions

View File

@ -4009,6 +4009,7 @@ ins_complete(int c, int enable_pum)
{
edit_submode_extra = (char_u *)_("The only match");
edit_submode_highl = HLF_COUNT;
compl_curr_match->cp_number = 0;
}
else
{

View File

@ -313,6 +313,24 @@ func Test_CompleteDone_undo()
au! CompleteDone
endfunc
func CompleteTest(findstart, query)
if a:findstart
return col('.')
endif
return ['matched']
endfunc
func Test_completefunc_info()
new
set completeopt=menuone
set completefunc=CompleteTest
call feedkeys("i\<C-X>\<C-U>\<C-R>\<C-R>=string(complete_info())\<CR>\<ESC>", "tx")
call assert_equal("matched{'pum_visible': 1, 'mode': 'function', 'selected': -1, 'items': [{'word': 'matched', 'menu': '', 'user_data': '', 'info': '', 'kind': '', 'abbr': ''}]}", getline(1))
bwipe!
set completeopt&
set completefunc&
endfunc
" Check that when using feedkeys() typeahead does not interrupt searching for
" completions.
func Test_compl_feedkeys()

View File

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