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/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