vim-patch:8.1.0280: 'incsearch' highlighting does not work for ":g!/"

Problem:    'incsearch' highlighting does not work for ":g!/".
Solution:   Skip the exclamation mark. (Hirohito Higashi)
def7b1dc61
This commit is contained in:
Aufar Gilbran 2020-08-12 03:09:45 +08:00
parent 8ae47ddf63
commit 841ec4316c
2 changed files with 15 additions and 0 deletions

View File

@ -299,6 +299,13 @@ static bool do_incsearch_highlighting(int firstc, incsearch_state_T *s,
&& (STRNCMP(cmd, "substitute", p - cmd) == 0
|| STRNCMP(cmd, "global", p - cmd) == 0
|| STRNCMP(cmd, "vglobal", p - cmd) == 0)) {
// Check for "global!/".
if (*cmd == 'g' && *p == '!') {
p++;
if (*skipwhite(p) == NUL) {
return false;
}
}
p = skipwhite(p);
delim = *p++;
end = skip_regexp(p, delim, p_magic, NULL);

View File

@ -408,6 +408,14 @@ func Test_search_cmdline3g()
undo
call feedkeys(":global/the\<c-l>/d\<cr>", 'tx')
call assert_equal(' 3 the theother', getline(2))
undo
call feedkeys(":g!/the\<c-l>/d\<cr>", 'tx')
call assert_equal(1, line('$'))
call assert_equal(' 2 the~e', getline(1))
undo
call feedkeys(":global!/the\<c-l>/d\<cr>", 'tx')
call assert_equal(1, line('$'))
call assert_equal(' 2 the~e', getline(1))
call Incsearch_cleanup()
endfunc