patch 7.4.2248
Problem: When cancelling the :ptjump prompt a preview window is opened for
a following command.
Solution: Reset g_do_tagpreview. (Hirohito Higashi) Add a test. Avoid that
the test runner gets stuck in trying to close a window.
diff --git a/src/tag.c b/src/tag.c
index 8fe213d..f772c83 100644
--- a/src/tag.c
+++ b/src/tag.c
@@ -1078,6 +1078,9 @@
curwin->w_tagstackidx = tagstackidx;
#ifdef FEAT_WINDOWS
postponed_split = 0; /* don't split next time */
+# ifdef FEAT_QUICKFIX
+ g_do_tagpreview = 0; /* don't do tag preview next time */
+# endif
#endif
#ifdef FEAT_CSCOPE
diff --git a/src/testdir/runtest.vim b/src/testdir/runtest.vim
index 8f0c0c3..2660d93 100644
--- a/src/testdir/runtest.vim
+++ b/src/testdir/runtest.vim
@@ -105,8 +105,17 @@
endif
" Close any extra windows and make the current one not modified.
- while winnr('$') > 1
+ while 1
+ let wincount = winnr('$')
+ if wincount == 1
+ break
+ endif
bwipe!
+ if wincount == winnr('$')
+ " Did not manage to close a window.
+ only!
+ break
+ endif
endwhile
set nomodified
endfunc
diff --git a/src/testdir/test_tagjump.vim b/src/testdir/test_tagjump.vim
index b22bde8..678ad0a 100644
--- a/src/testdir/test_tagjump.vim
+++ b/src/testdir/test_tagjump.vim
@@ -7,4 +7,20 @@
set tagstack&vim
endfunc
+func Test_cancel_ptjump()
+ set tags=Xtags
+ call writefile(["!_TAG_FILE_ENCODING\tutf-8\t//",
+ \ "word\tfile1\tcmd1",
+ \ "word\tfile2\tcmd2"],
+ \ 'Xtags')
+
+ only!
+ call feedkeys(":ptjump word\<CR>\<CR>", "xt")
+ help
+ call assert_equal(2, winnr('$'))
+
+ call delete('Xtags')
+ quit
+endfunc
+
" vim: shiftwidth=2 sts=2 expandtab
diff --git a/src/version.c b/src/version.c
index 0a96e68..8b9818e 100644
--- a/src/version.c
+++ b/src/version.c
@@ -764,6 +764,8 @@
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 2248,
+/**/
2247,
/**/
2246,