forked from aniani/vim
patch 9.0.1299: change for triggering incsearch not sufficiently tested
Problem: Change for triggering incsearch not sufficiently tested. Solution: Add a test case. Simplify the code. (closes #11971)
This commit is contained in:
@@ -1253,9 +1253,9 @@ cmdline_insert_reg(int *gotesc UNUSED)
|
|||||||
// remove the double quote
|
// remove the double quote
|
||||||
redrawcmd();
|
redrawcmd();
|
||||||
|
|
||||||
// The text has been stuffed, the command line didn't change yet, but it
|
// With "literally": the command line has already changed.
|
||||||
// will change soon. The caller must take care of it.
|
// Else: the text has been stuffed, but the command line didn't change yet.
|
||||||
return literally ? CMDLINE_NOT_CHANGED : CMDLINE_CHANGED;
|
return literally ? CMDLINE_CHANGED : CMDLINE_NOT_CHANGED;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@@ -2086,10 +2086,8 @@ getcmdline_int(
|
|||||||
res = cmdline_insert_reg(&gotesc);
|
res = cmdline_insert_reg(&gotesc);
|
||||||
if (res == GOTO_NORMAL_MODE)
|
if (res == GOTO_NORMAL_MODE)
|
||||||
goto returncmd;
|
goto returncmd;
|
||||||
#ifdef FEAT_SEARCH_EXTRA
|
if (res == CMDLINE_CHANGED)
|
||||||
if (res == CMDLINE_NOT_CHANGED)
|
goto cmdline_changed;
|
||||||
is_state.incsearch_postponed = TRUE;
|
|
||||||
#endif
|
|
||||||
goto cmdline_not_changed;
|
goto cmdline_not_changed;
|
||||||
|
|
||||||
case Ctrl_D:
|
case Ctrl_D:
|
||||||
|
|||||||
@@ -1909,17 +1909,15 @@ func Test_Cmdline()
|
|||||||
call assert_equal(':', g:entered)
|
call assert_equal(':', g:entered)
|
||||||
au! CmdlineChanged
|
au! CmdlineChanged
|
||||||
|
|
||||||
|
autocmd CmdlineChanged : let g:log += [getcmdline()]
|
||||||
|
|
||||||
let g:log = []
|
let g:log = []
|
||||||
cnoremap <F1> <Cmd>call setcmdline('ls')<CR>
|
cnoremap <F1> <Cmd>call setcmdline('ls')<CR>
|
||||||
autocmd CmdlineChanged : let g:log += [getcmdline()]
|
|
||||||
call feedkeys(":\<F1>", 'xt')
|
call feedkeys(":\<F1>", 'xt')
|
||||||
call assert_equal(['ls'], g:log)
|
call assert_equal(['ls'], g:log)
|
||||||
unlet g:log
|
|
||||||
au! CmdlineChanged
|
|
||||||
cunmap <F1>
|
cunmap <F1>
|
||||||
|
|
||||||
let g:log = []
|
let g:log = []
|
||||||
autocmd CmdlineChanged : let g:log += [getcmdline()]
|
|
||||||
call feedkeys(":sign \<Tab>\<Tab>\<C-N>\<C-P>\<S-Tab>\<S-Tab>\<Esc>", 'xt')
|
call feedkeys(":sign \<Tab>\<Tab>\<C-N>\<C-P>\<S-Tab>\<S-Tab>\<Esc>", 'xt')
|
||||||
call assert_equal([
|
call assert_equal([
|
||||||
\ 's',
|
\ 's',
|
||||||
@@ -1950,6 +1948,22 @@ func Test_Cmdline()
|
|||||||
\ 'sign unplace',
|
\ 'sign unplace',
|
||||||
\ ], g:log)
|
\ ], g:log)
|
||||||
set wildmenu& wildoptions&
|
set wildmenu& wildoptions&
|
||||||
|
|
||||||
|
let g:log = []
|
||||||
|
let @r = 'abc'
|
||||||
|
call feedkeys(":0\<C-R>r1\<C-R>\<C-O>r2\<C-R>\<C-R>r3\<Esc>", 'xt')
|
||||||
|
call assert_equal([
|
||||||
|
\ '0',
|
||||||
|
\ '0a',
|
||||||
|
\ '0ab',
|
||||||
|
\ '0abc',
|
||||||
|
\ '0abc1',
|
||||||
|
\ '0abc1abc',
|
||||||
|
\ '0abc1abc2',
|
||||||
|
\ '0abc1abc2abc',
|
||||||
|
\ '0abc1abc2abc3',
|
||||||
|
\ ], g:log)
|
||||||
|
|
||||||
unlet g:log
|
unlet g:log
|
||||||
au! CmdlineChanged
|
au! CmdlineChanged
|
||||||
|
|
||||||
|
|||||||
@@ -695,6 +695,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 */
|
||||||
|
/**/
|
||||||
|
1299,
|
||||||
/**/
|
/**/
|
||||||
1298,
|
1298,
|
||||||
/**/
|
/**/
|
||||||
|
|||||||
Reference in New Issue
Block a user