changeset 10281:92fa8e5ef210 v8.0.0037

commit https://github.com/vim/vim/commit/0a9046fbcb33770517ab0220b8100c4494bddab2 Author: Bram Moolenaar <Bram@vim.org> Date: Sat Oct 15 19:28:13 2016 +0200 patch 8.0.0037 Problem: Get E924 when switching tabs. () Solution: Use win_valid_any_tab() instead of win_valid(). (Martin Vuille, closes https://github.com/vim/vim/issues/1167, closes https://github.com/vim/vim/issues/1171)
author Christian Brabandt <cb@256bit.org>
date Sat, 15 Oct 2016 19:30:04 +0200
parents 511f213d76aa
children de0cf3243092
files src/quickfix.c src/testdir/test_quickfix.vim src/version.c
diffstat 3 files changed, 19 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/src/quickfix.c
+++ b/src/quickfix.c
@@ -2266,7 +2266,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;
--- a/src/testdir/test_quickfix.vim
+++ b/src/testdir/test_quickfix.vim
@@ -617,6 +617,22 @@ function Test_locationlist_curwin_was_cl
     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')
--- a/src/version.c
+++ b/src/version.c
@@ -765,6 +765,8 @@ static char *(features[]) =
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    37,
+/**/
     36,
 /**/
     35,