From 4f3c9ad4d7eeb48ccc33838afa6f25c0952ffb07 Mon Sep 17 00:00:00 2001 From: James McCoy Date: Wed, 7 Dec 2016 10:40:33 -0500 Subject: [PATCH 1/3] vim-patch:7.4.1751 Problem: Crash when 'tagstack' is off. (Dominique Pelle) Solution: Fix it. (Hirohito Higashi) https://github.com/vim/vim/commit/def5abe0a2727041ecee69afdccfca405333bd24 --- src/nvim/tag.c | 4 ++++ src/nvim/testdir/test_alot.vim | 1 + src/nvim/version.c | 2 +- 3 files changed, 6 insertions(+), 1 deletion(-) diff --git a/src/nvim/tag.c b/src/nvim/tag.c index 46fad688cc..a2d87a4bd2 100644 --- a/src/nvim/tag.c +++ b/src/nvim/tag.c @@ -216,6 +216,10 @@ do_tag ( if (!p_tgst && *tag != NUL) { 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/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, From 035eb2757567a54f8898ccd430307470f1758b29 Mon Sep 17 00:00:00 2001 From: James McCoy Date: Wed, 7 Dec 2016 10:42:53 -0500 Subject: [PATCH 2/3] vim-patch:8d8aa0a Add missing test file. https://github.com/vim/vim/commit/8d8aa0a367380f23f0af428fcb66a1a0615bf872 --- src/nvim/testdir/test_tagjump.vim | 9 +++++++++ 1 file changed, 9 insertions(+) create mode 100644 src/nvim/testdir/test_tagjump.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 From f7a49532b16851af1ab5599c5aa6c93c45f7d686 Mon Sep 17 00:00:00 2001 From: James McCoy Date: Wed, 7 Dec 2016 11:04:33 -0500 Subject: [PATCH 3/3] lint --- src/nvim/tag.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/nvim/tag.c b/src/nvim/tag.c index a2d87a4bd2..1df1952f53 100644 --- a/src/nvim/tag.c +++ b/src/nvim/tag.c @@ -214,8 +214,8 @@ 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);