patch 8.0.0037
Problem: Get E924 when switching tabs. ()
Solution: Use win_valid_any_tab() instead of win_valid(). (Martin Vuille,
closes #1167, closes #1171)
diff --git a/src/quickfix.c b/src/quickfix.c
index 9139663..5bd1257 100644
--- a/src/quickfix.c
+++ b/src/quickfix.c
@@ -2266,7 +2266,7 @@
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;
diff --git a/src/testdir/test_quickfix.vim b/src/testdir/test_quickfix.vim
index 73ca7ca..022c12a 100644
--- a/src/testdir/test_quickfix.vim
+++ b/src/testdir/test_quickfix.vim
@@ -617,6 +617,22 @@
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')
diff --git a/src/version.c b/src/version.c
index 61e6979..95115f8 100644
--- a/src/version.c
+++ b/src/version.c
@@ -765,6 +765,8 @@
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 37,
+/**/
36,
/**/
35,