diff --git a/src/normal.c b/src/normal.c index ea30607d6a..9231a4c239 100644 --- a/src/normal.c +++ b/src/normal.c @@ -3579,7 +3579,7 @@ nv_ident(cmdarg_T *cap) aux_ptr = (char_u *)(magic_isset() ? "/?.*~[^$\\" : "/?^$\\"); else if (tag_cmd) { - if (curbuf->b_help) + if (STRCMP(curbuf->b_p_ft, "help") == 0) // ":help" handles unescaped argument aux_ptr = (char_u *)""; else diff --git a/src/testdir/test_help.vim b/src/testdir/test_help.vim index 6c8b3ab397..6422317de5 100644 --- a/src/testdir/test_help.vim +++ b/src/testdir/test_help.vim @@ -205,5 +205,22 @@ func Test_help_using_visual_match() call v9.CheckScriptFailure(lines, 'E149:') endfunc +func Test_helptag_navigation() + let helpdir = tempname() + let tempfile = helpdir . '/test.txt' + call mkdir(helpdir, 'pR') + call writefile(['', '*[tag*', '', '|[tag|'], tempfile) + exe 'helptags' helpdir + exe 'sp' tempfile + exe 'lcd' helpdir + setl ft=help + let &l:iskeyword='!-~,^*,^|,^",192-255' + call cursor(4, 2) + " Vim must not escape `[` when expanding the tag + exe "normal! \" + call assert_equal(2, line('.')) + bw +endfunc + " vim: shiftwidth=2 sts=2 expandtab diff --git a/src/version.c b/src/version.c index d82060838a..30a62c144d 100644 --- a/src/version.c +++ b/src/version.c @@ -704,6 +704,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ +/**/ + 1357, /**/ 1356, /**/