aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJustin M. Keyes <justinkz@gmail.com>2017-03-21 19:14:18 +0100
committerJustin M. Keyes <justinkz@gmail.com>2017-03-22 18:43:00 +0100
commitf06a6913260a320ec6b8ede5860edb1829c4f8ba (patch)
treeed3f856c54f5ff0ccdde404c3f09cc75f61d2427
parenta24c6cc6a8e180d201c5887935d6dfdc95ac1abf (diff)
downloadrneovim-f06a6913260a320ec6b8ede5860edb1829c4f8ba.tar.gz
rneovim-f06a6913260a320ec6b8ede5860edb1829c4f8ba.tar.bz2
rneovim-f06a6913260a320ec6b8ede5860edb1829c4f8ba.zip
vim-patch:8.0.0037
Problem: Get E924 when switching tabs. () Solution: Use win_valid_any_tab() instead of win_valid(). (Martin Vuille, closes vim/vim#1167, closes vim/vim#1171) https://github.com/vim/vim/commit/0a9046fbcb33770517ab0220b8100c4494bddab2
-rw-r--r--src/nvim/quickfix.c2
-rw-r--r--src/nvim/testdir/test_quickfix.vim16
2 files changed, 17 insertions, 1 deletions
diff --git a/src/nvim/quickfix.c b/src/nvim/quickfix.c
index 3f7975051f..8d8c20c1d0 100644
--- a/src/nvim/quickfix.c
+++ b/src/nvim/quickfix.c
@@ -1975,7 +1975,7 @@ win_found:
ok = buflist_getfile(qf_ptr->qf_fnum, (linenr_T)1,
GETF_SETMARK | GETF_SWITCH, forceit);
- if (qi != &ql_info && !win_valid(oldwin)) {
+ if (qi != &ql_info && !win_valid_any_tab(oldwin)) {
EMSG(_("E924: Current window was closed"));
is_abort = true;
opened_window = false;
diff --git a/src/nvim/testdir/test_quickfix.vim b/src/nvim/testdir/test_quickfix.vim
index 640918b343..75ab01f013 100644
--- a/src/nvim/testdir/test_quickfix.vim
+++ b/src/nvim/testdir/test_quickfix.vim
@@ -599,6 +599,22 @@ function Test_locationlist_curwin_was_closed()
augroup! testgroup
endfunction
+function Test_locationlist_cross_tab_jump()
+ call writefile(['loclistfoo'], 'loclistfoo')
+ call writefile(['loclistbar'], 'loclistbar')
+ set switchbuf=usetab
+
+ edit loclistfoo
+ tabedit loclistbar
+ silent lgrep loclistfoo loclist*
+ call assert_equal(1, tabpagenr())
+
+ enew | only | tabonly
+ set switchbuf&vim
+ call delete('loclistfoo')
+ call delete('loclistbar')
+endfunction
+
" More tests for 'errorformat'
function! Test_efm1()
if !has('unix')