diff options
author | Bram Moolenaar <Bram@vim.org> | 2016-08-24 21:21:26 +0200 |
---|---|---|
committer | Bram Moolenaar <Bram@vim.org> | 2016-08-24 21:21:26 +0200 |
commit | 358308dd99abdd56c6540339e505585d8db7bdfe (patch) | |
tree | 25330e413ecbae1e6e1104a754f4f87d03007f74 /src | |
parent | b58fe4588c6bfa173a3c47a66f410c2427bc668e (diff) |
patch 7.4.2248v7.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.
Diffstat (limited to 'src')
-rw-r--r-- | src/tag.c | 3 | ||||
-rw-r--r-- | src/testdir/runtest.vim | 11 | ||||
-rw-r--r-- | src/testdir/test_tagjump.vim | 16 | ||||
-rw-r--r-- | src/version.c | 2 |
4 files changed, 31 insertions, 1 deletions
@@ -1078,6 +1078,9 @@ end_do_tag: 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 8f0c0c3c80..2660d93e8a 100644 --- a/src/testdir/runtest.vim +++ b/src/testdir/runtest.vim @@ -105,8 +105,17 @@ function RunTheTest(test) 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 b22bde8047..678ad0ada8 100644 --- a/src/testdir/test_tagjump.vim +++ b/src/testdir/test_tagjump.vim @@ -7,4 +7,20 @@ func Test_ptag_with_notagstack() 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 0a96e68d5b..8b9818efa2 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 */ /**/ + 2248, +/**/ 2247, /**/ 2246, |