aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJustin M. Keyes <justinkz@gmail.com>2019-12-31 04:03:11 +0100
committerGitHub <noreply@github.com>2019-12-31 04:03:11 +0100
commite922576bdd6abd6736417343121120b289079565 (patch)
treecdefff491e487c8aa6d6f1c281eca5f921a30aea
parent22a92a59a68e2b0928a6243c0888b56608a8f8d8 (diff)
parent4bd51d8988b0af76a8c9e8cb38c537fc53346c20 (diff)
downloadrneovim-e922576bdd6abd6736417343121120b289079565.tar.gz
rneovim-e922576bdd6abd6736417343121120b289079565.tar.bz2
rneovim-e922576bdd6abd6736417343121120b289079565.zip
Merge #11637 from janlazo/vim-8.1.1739
vim-patch:8.1.{1739,1741},8.2.0063
-rwxr-xr-xci/install.sh2
-rwxr-xr-xci/run_tests.sh2
-rw-r--r--src/nvim/ops.c3
-rw-r--r--src/nvim/testdir/test_match.vim53
-rw-r--r--src/nvim/window.c6
5 files changed, 62 insertions, 4 deletions
diff --git a/ci/install.sh b/ci/install.sh
index a6cd955da5..3364edfe70 100755
--- a/ci/install.sh
+++ b/ci/install.sh
@@ -22,6 +22,8 @@ echo "Install neovim RubyGem."
gem install --no-document --version ">= 0.8.0" neovim
echo "Install neovim npm package"
+source ~/.nvm/nvm.sh
+nvm use 10
npm install -g neovim
npm link neovim
diff --git a/ci/run_tests.sh b/ci/run_tests.sh
index 6b2f69293c..844e9559ef 100755
--- a/ci/run_tests.sh
+++ b/ci/run_tests.sh
@@ -19,6 +19,8 @@ exit_suite --continue
enter_suite tests
+source ~/.nvm/nvm.sh
+nvm use 10
export TREE_SITTER_DIR=$HOME/tree-sitter-build/
if test "$CLANG_SANITIZER" != "TSAN" ; then
diff --git a/src/nvim/ops.c b/src/nvim/ops.c
index b597c5b214..6a621cdaa6 100644
--- a/src/nvim/ops.c
+++ b/src/nvim/ops.c
@@ -5654,7 +5654,8 @@ void cursor_pos_info(dict_T *dict)
bom_count = bomb_size();
if (dict == NULL && bom_count > 0) {
- vim_snprintf((char *)IObuff + STRLEN(IObuff), IOSIZE - STRLEN(IObuff),
+ const size_t len = STRLEN(IObuff);
+ vim_snprintf((char *)IObuff + len, IOSIZE - len,
_("(+%" PRId64 " for BOM)"), (int64_t)bom_count);
}
if (dict == NULL) {
diff --git a/src/nvim/testdir/test_match.vim b/src/nvim/testdir/test_match.vim
index 90dfcf952d..c134cfb1c0 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,55 @@ func Test_matchaddpos_using_negative_priority()
set hlsearch&
endfunc
+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, '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('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
+
+
" vim: shiftwidth=2 sts=2 expandtab
diff --git a/src/nvim/window.c b/src/nvim/window.c
index af78c89618..79d7a8acba 100644
--- a/src/nvim/window.c
+++ b/src/nvim/window.c
@@ -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:
@@ -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;
}
@@ -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);
}
/*