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:
zeertzjq
2023-02-11 10:34:07 +00:00
committed by Bram Moolenaar
parent c4b7dec382
commit 412e0e4ed9
3 changed files with 25 additions and 11 deletions

View File

@ -1253,9 +1253,9 @@ cmdline_insert_reg(int *gotesc UNUSED)
// remove the double quote
redrawcmd();
// The text has been stuffed, the command line didn't change yet, but it
// will change soon. The caller must take care of it.
return literally ? CMDLINE_NOT_CHANGED : CMDLINE_CHANGED;
// With "literally": the command line has already changed.
// Else: the text has been stuffed, but the command line didn't change yet.
return literally ? CMDLINE_CHANGED : CMDLINE_NOT_CHANGED;
}
/*
@ -2086,10 +2086,8 @@ getcmdline_int(
res = cmdline_insert_reg(&gotesc);
if (res == GOTO_NORMAL_MODE)
goto returncmd;
#ifdef FEAT_SEARCH_EXTRA
if (res == CMDLINE_NOT_CHANGED)
is_state.incsearch_postponed = TRUE;
#endif
if (res == CMDLINE_CHANGED)
goto cmdline_changed;
goto cmdline_not_changed;
case Ctrl_D:

View File

@ -1909,17 +1909,15 @@ func Test_Cmdline()
call assert_equal(':', g:entered)
au! CmdlineChanged
autocmd CmdlineChanged : let g:log += [getcmdline()]
let g:log = []
cnoremap <F1> <Cmd>call setcmdline('ls')<CR>
autocmd CmdlineChanged : let g:log += [getcmdline()]
call feedkeys(":\<F1>", 'xt')
call assert_equal(['ls'], g:log)
unlet g:log
au! CmdlineChanged
cunmap <F1>
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 assert_equal([
\ 's',
@ -1950,6 +1948,22 @@ func Test_Cmdline()
\ 'sign unplace',
\ ], g:log)
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
au! CmdlineChanged

View File

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