mirror of
https://github.com/neovim/neovim.git
synced 2025-09-06 19:38:20 +00:00
vim-patch:8.0.0247 (#7232)
Problem: Under some circumstances, one needs to type Ctrl-N or Ctrl-P twice
to have a menu entry selected. (Lifepillar)
Solution: call ins_compl_free(). (Christian Brabandt, closes vim/vim#1411)
aed6d0b81a
This commit is contained in:

committed by
Justin M. Keyes

parent
7bfa4406c1
commit
11429f9429
@@ -2406,6 +2406,7 @@ void set_completion(colnr_T startcol, list_T *list)
|
|||||||
ins_compl_prep(' ');
|
ins_compl_prep(' ');
|
||||||
}
|
}
|
||||||
ins_compl_clear();
|
ins_compl_clear();
|
||||||
|
ins_compl_free();
|
||||||
|
|
||||||
compl_direction = FORWARD;
|
compl_direction = FORWARD;
|
||||||
if (startcol > curwin->w_cursor.col)
|
if (startcol > curwin->w_cursor.col)
|
||||||
|
@@ -7,10 +7,10 @@ func! ListMonths()
|
|||||||
if g:setting != ''
|
if g:setting != ''
|
||||||
exe ":set" g:setting
|
exe ":set" g:setting
|
||||||
endif
|
endif
|
||||||
let mth=copy(g:months)
|
let mth = copy(g:months)
|
||||||
let entered = strcharpart(getline('.'),0,col('.'))
|
let entered = strcharpart(getline('.'),0,col('.'))
|
||||||
if !empty(entered)
|
if !empty(entered)
|
||||||
let mth=filter(mth, 'v:val=~"^".entered')
|
let mth = filter(mth, 'v:val=~"^".entered')
|
||||||
endif
|
endif
|
||||||
call complete(1, mth)
|
call complete(1, mth)
|
||||||
return ''
|
return ''
|
||||||
@@ -468,7 +468,7 @@ endfunc
|
|||||||
" auto-wrap text.
|
" auto-wrap text.
|
||||||
func Test_completion_ctrl_e_without_autowrap()
|
func Test_completion_ctrl_e_without_autowrap()
|
||||||
new
|
new
|
||||||
let tw_save=&tw
|
let tw_save = &tw
|
||||||
set tw=78
|
set tw=78
|
||||||
let li = [
|
let li = [
|
||||||
\ '" zzz',
|
\ '" zzz',
|
||||||
@@ -478,7 +478,7 @@ func Test_completion_ctrl_e_without_autowrap()
|
|||||||
call feedkeys("A\<C-X>\<C-N>\<C-E>\<Esc>", "tx")
|
call feedkeys("A\<C-X>\<C-N>\<C-E>\<Esc>", "tx")
|
||||||
call assert_equal(li, getline(1, '$'))
|
call assert_equal(li, getline(1, '$'))
|
||||||
|
|
||||||
let &tw=tw_save
|
let &tw = tw_save
|
||||||
q!
|
q!
|
||||||
endfunc
|
endfunc
|
||||||
|
|
||||||
@@ -541,4 +541,33 @@ func Test_completion_comment_formatting()
|
|||||||
bwipe!
|
bwipe!
|
||||||
endfunc
|
endfunc
|
||||||
|
|
||||||
|
function! DummyCompleteSix()
|
||||||
|
call complete(1, ['Hello', 'World'])
|
||||||
|
return ''
|
||||||
|
endfunction
|
||||||
|
|
||||||
|
" complete() correctly clears the list of autocomplete candidates
|
||||||
|
func Test_completion_clear_candidate_list()
|
||||||
|
new
|
||||||
|
%d
|
||||||
|
" select first entry from the completion popup
|
||||||
|
call feedkeys("a xxx\<C-N>\<C-R>=DummyCompleteSix()\<CR>", "tx")
|
||||||
|
call assert_equal('Hello', getline(1))
|
||||||
|
%d
|
||||||
|
" select second entry from the completion popup
|
||||||
|
call feedkeys("a xxx\<C-N>\<C-R>=DummyCompleteSix()\<CR>\<C-N>", "tx")
|
||||||
|
call assert_equal('World', getline(1))
|
||||||
|
%d
|
||||||
|
" select original text
|
||||||
|
call feedkeys("a xxx\<C-N>\<C-R>=DummyCompleteSix()\<CR>\<C-N>\<C-N>", "tx")
|
||||||
|
call assert_equal(' xxx', getline(1))
|
||||||
|
%d
|
||||||
|
" back at first entry from completion list
|
||||||
|
call feedkeys("a xxx\<C-N>\<C-R>=DummyCompleteSix()\<CR>\<C-N>\<C-N>\<C-N>", "tx")
|
||||||
|
call assert_equal('Hello', getline(1))
|
||||||
|
|
||||||
|
bw!
|
||||||
|
endfunc
|
||||||
|
|
||||||
|
|
||||||
" vim: shiftwidth=2 sts=2 expandtab
|
" vim: shiftwidth=2 sts=2 expandtab
|
||||||
|
@@ -705,7 +705,7 @@ static const int included_patches[] = {
|
|||||||
250,
|
250,
|
||||||
// 249 NA
|
// 249 NA
|
||||||
// 248,
|
// 248,
|
||||||
// 247,
|
247,
|
||||||
// 246 NA
|
// 246 NA
|
||||||
// 245,
|
// 245,
|
||||||
// 244,
|
// 244,
|
||||||
|
Reference in New Issue
Block a user