diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/nvim/testdir/test_match.vim | 24 | ||||
| -rw-r--r-- | src/nvim/window.c | 2 | 
2 files changed, 25 insertions, 1 deletions
diff --git a/src/nvim/testdir/test_match.vim b/src/nvim/testdir/test_match.vim index 90dfcf952d..921c3e3c55 100644 --- a/src/nvim/testdir/test_match.vim +++ b/src/nvim/testdir/test_match.vim @@ -1,6 +1,8 @@  " Test for :match, :2match, :3match, clearmatches(), getmatches(), matchadd(),  " matchaddpos(), matcharg(), matchdelete(), and setmatches(). +source screendump.vim +  function Test_match()    highlight MyGroup1 term=bold ctermbg=red guibg=red    highlight MyGroup2 term=italic ctermbg=green guibg=green @@ -248,4 +250,26 @@ func Test_matchaddpos_using_negative_priority()    set hlsearch&  endfunc +func Test_matchdelete_other_window() +  if !CanRunVimInTerminal() +    throw 'Skipped: cannot make screendumps' +  endif + +  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 term_wait(buf) +  call term_sendkeys(buf, ":call matchdelete(mid, winid)\<CR>") +  call VerifyScreenDump(buf, 'Test_matchdelete_1', {}) + +  call StopVimInTerminal(buf) +  call delete('XscriptMatchDelete') +endfunc + +  " vim: shiftwidth=2 sts=2 expandtab diff --git a/src/nvim/window.c b/src/nvim/window.c index af78c89618..5d4332c75a 100644 --- a/src/nvim/window.c +++ b/src/nvim/window.c @@ -6680,7 +6680,7 @@ int match_delete(win_T *wp, int id, int perr)      rtype = VALID;    }    xfree(cur); -  redraw_later(rtype); +  redraw_win_later(wp, rtype);    return 0;  }  | 
