vim-patch:8.1.0640: get E14 while typing command :tab with 'incsearch' set

Problem:    Get E14 while typing command :tab with 'incsearch' set.
Solution:   Do not give an error when looking for the command. (Yasuhiro
            Higashi)
548e598573
This commit is contained in:
Jan Edmund Lazo 2020-09-12 23:52:11 -04:00
parent 4327fe8da5
commit cc049a5612
No known key found for this signature in database
GPG Key ID: 64915E6E9F735B15
2 changed files with 26 additions and 9 deletions

View File

@ -2228,17 +2228,19 @@ int parse_command_modifiers(exarg_T *eap, char_u **errormsg, bool skip_only)
continue;
case 't': if (checkforcmd(&p, "tab", 3)) {
long tabnr = get_address(
eap, &eap->cmd, ADDR_TABS, eap->skip, skip_only, false, 1);
if (!skip_only) {
long tabnr = get_address(
eap, &eap->cmd, ADDR_TABS, eap->skip, skip_only, false, 1);
if (tabnr == MAXLNUM) {
cmdmod.tab = tabpage_index(curtab) + 1;
} else {
if (tabnr < 0 || tabnr > LAST_TAB_NR) {
*errormsg = (char_u *)_(e_invrange);
return false;
if (tabnr == MAXLNUM) {
cmdmod.tab = tabpage_index(curtab) + 1;
} else {
if (tabnr < 0 || tabnr > LAST_TAB_NR) {
*errormsg = (char_u *)_(e_invrange);
return false;
}
cmdmod.tab = tabnr + 1;
}
cmdmod.tab = tabnr + 1;
}
eap->cmd = p;
continue;

View File

@ -861,6 +861,21 @@ func Test_incsearch_with_change()
call delete('Xis_change_script')
endfunc
func Test_incsearch_cmdline_modifier()
throw 'skipped: Nvim does not support test_override()'
if !exists('+incsearch')
return
endif
call test_override("char_avail", 1)
new
call setline(1, ['foo'])
set incsearch
" Test that error E14 does not occur in parsing command modifier.
call feedkeys("V:tab", 'tx')
call Incsearch_cleanup()
endfunc
func Test_incsearch_scrolling()
if !CanRunVimInTerminal()
return