aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJustin M. Keyes <justinkz@gmail.com>2016-12-07 18:47:10 +0100
committerGitHub <noreply@github.com>2016-12-07 18:47:10 +0100
commit8da23cb919e55825bc89f0ebfcebcc07374d9d18 (patch)
tree78942ea2378e2acd6985f219aa89e12bc6106c25
parente6b7dade4f1dafb6dff3d1a7ebdc0ddbf7122d02 (diff)
parentf7a49532b16851af1ab5599c5aa6c93c45f7d686 (diff)
downloadrneovim-8da23cb919e55825bc89f0ebfcebcc07374d9d18.tar.gz
rneovim-8da23cb919e55825bc89f0ebfcebcc07374d9d18.tar.bz2
rneovim-8da23cb919e55825bc89f0ebfcebcc07374d9d18.zip
Merge #5729 from jamessan/vim-7.4.1751
vim-patch:7.4.1751,8d8aa0a
-rw-r--r--src/nvim/tag.c8
-rw-r--r--src/nvim/testdir/test_alot.vim1
-rw-r--r--src/nvim/testdir/test_tagjump.vim9
-rw-r--r--src/nvim/version.c2
4 files changed, 17 insertions, 3 deletions
diff --git a/src/nvim/tag.c b/src/nvim/tag.c
index 46fad688cc..1df1952f53 100644
--- a/src/nvim/tag.c
+++ b/src/nvim/tag.c
@@ -214,8 +214,12 @@ do_tag (
* Don't add a tag to the tagstack if 'tagstack' has been reset.
*/
if (!p_tgst && *tag != NUL) {
- use_tagstack = FALSE;
- new_tag = TRUE;
+ use_tagstack = false;
+ new_tag = true;
+ if (g_do_tagpreview != 0) {
+ xfree(ptag_entry.tagname);
+ ptag_entry.tagname = vim_strsave(tag);
+ }
} else {
if (g_do_tagpreview != 0)
use_tagstack = FALSE;
diff --git a/src/nvim/testdir/test_alot.vim b/src/nvim/testdir/test_alot.vim
index c9d7b332e4..67e27e72a2 100644
--- a/src/nvim/testdir/test_alot.vim
+++ b/src/nvim/testdir/test_alot.vim
@@ -18,5 +18,6 @@ source test_statusline.vim
source test_syn_attr.vim
source test_tabline.vim
source test_tabpage.vim
+source test_tagjump.vim
source test_unlet.vim
source test_matchadd_conceal_utf8.vim
diff --git a/src/nvim/testdir/test_tagjump.vim b/src/nvim/testdir/test_tagjump.vim
new file mode 100644
index 0000000000..d8a333f44c
--- /dev/null
+++ b/src/nvim/testdir/test_tagjump.vim
@@ -0,0 +1,9 @@
+" Tests for tagjump (tags and special searches)
+
+" SEGV occurs in older versions. (At least 7.4.1748 or older)
+func Test_ptag_with_notagstack()
+ set notagstack
+ call assert_fails('ptag does_not_exist_tag_name', 'E426')
+ set tagstack&vim
+endfunc
+" vim: sw=2 et
diff --git a/src/nvim/version.c b/src/nvim/version.c
index aea5143bb8..8677296d59 100644
--- a/src/nvim/version.c
+++ b/src/nvim/version.c
@@ -693,7 +693,7 @@ static int included_patches[] = {
1753,
// 1753,
// 1752,
- // 1751,
+ 1751,
// 1750 NA
// 1749 NA
1748,