From: Bram Moolenaar Date: Sat, 15 Oct 2016 17:28:13 +0000 (+0200) Subject: patch 8.0.0037 X-Git-Tag: v8.0.0037 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=0a9046fbcb33770517ab0220b8100c4494bddab2;p=vim 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 913966348..5bd125720 100644 --- 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; diff --git a/src/testdir/test_quickfix.vim b/src/testdir/test_quickfix.vim index 73ca7ca8a..022c12a29 100644 --- a/src/testdir/test_quickfix.vim +++ b/src/testdir/test_quickfix.vim @@ -617,6 +617,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') diff --git a/src/version.c b/src/version.c index 61e6979d5..95115f823 100644 --- a/src/version.c +++ b/src/version.c @@ -764,6 +764,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ +/**/ + 37, /**/ 36, /**/