mirror of
https://github.com/neovim/neovim.git
synced 2025-02-25 18:55:25 -06:00
vim-patch:8.1.1741: cleared/added match highlighting not updated in other window
Problem: Cleared/added match highlighting not updated in other window.
(Andi Massimino)
Solution: Mark the right window for refresh.
4ef18dcc2e
This commit is contained in:
parent
6e6544d645
commit
0e7baed219
@ -250,25 +250,54 @@ func Test_matchaddpos_using_negative_priority()
|
||||
set hlsearch&
|
||||
endfunc
|
||||
|
||||
func Test_matchdelete_other_window()
|
||||
if !CanRunVimInTerminal()
|
||||
throw 'Skipped: cannot make screendumps'
|
||||
endif
|
||||
|
||||
func OtherWindowCommon()
|
||||
let lines =<< trim END
|
||||
call setline(1, 'Hello Vim world')
|
||||
let mid = matchadd('Error', 'world', 1)
|
||||
let winid = win_getid()
|
||||
new
|
||||
END
|
||||
call writefile(lines, 'XscriptMatchDelete')
|
||||
let buf = RunVimInTerminal('-S XscriptMatchDelete', #{rows: 12})
|
||||
call writefile(lines, 'XscriptMatchCommon')
|
||||
let buf = RunVimInTerminal('-S XscriptMatchCommon', #{rows: 12})
|
||||
call term_wait(buf)
|
||||
return buf
|
||||
endfunc
|
||||
|
||||
func Test_matchdelete_other_window()
|
||||
if !CanRunVimInTerminal()
|
||||
throw 'Skipped: cannot make screendumps'
|
||||
endif
|
||||
let buf = OtherWindowCommon()
|
||||
call term_sendkeys(buf, ":call matchdelete(mid, winid)\<CR>")
|
||||
call VerifyScreenDump(buf, 'Test_matchdelete_1', {})
|
||||
|
||||
call StopVimInTerminal(buf)
|
||||
call delete('XscriptMatchDelete')
|
||||
call delete('XscriptMatchCommon')
|
||||
endfunc
|
||||
|
||||
func Test_matchclear_other_window()
|
||||
if !CanRunVimInTerminal()
|
||||
throw 'Skipped: cannot make screendumps'
|
||||
endif
|
||||
let buf = OtherWindowCommon()
|
||||
call term_sendkeys(buf, ":call clearmatches(winid)\<CR>")
|
||||
call VerifyScreenDump(buf, 'Test_matchclear_1', {})
|
||||
|
||||
call StopVimInTerminal(buf)
|
||||
call delete('XscriptMatchCommon')
|
||||
endfunc
|
||||
|
||||
func Test_matchadd_other_window()
|
||||
if !CanRunVimInTerminal()
|
||||
throw 'Skipped: cannot make screendumps'
|
||||
endif
|
||||
let buf = OtherWindowCommon()
|
||||
call term_sendkeys(buf, ":call matchadd('Search', 'Hello', 1, -1, #{window: winid})\<CR>")
|
||||
call term_sendkeys(buf, ":\<CR>")
|
||||
call VerifyScreenDump(buf, 'Test_matchadd_1', {})
|
||||
|
||||
call StopVimInTerminal(buf)
|
||||
call delete('XscriptMatchCommon')
|
||||
endfunc
|
||||
|
||||
|
||||
|
@ -6622,7 +6622,7 @@ int match_add(win_T *wp, const char *const grp, const char *const pat,
|
||||
prev->next = m;
|
||||
m->next = cur;
|
||||
|
||||
redraw_later(rtype);
|
||||
redraw_win_later(wp, rtype);
|
||||
return id;
|
||||
|
||||
fail:
|
||||
@ -6698,7 +6698,7 @@ void clear_matches(win_T *wp)
|
||||
xfree(wp->w_match_head);
|
||||
wp->w_match_head = m;
|
||||
}
|
||||
redraw_later(SOME_VALID);
|
||||
redraw_win_later(wp, SOME_VALID);
|
||||
}
|
||||
|
||||
/*
|
||||
|
Loading…
Reference in New Issue
Block a user