diff options
author | Bram Moolenaar <Bram@vim.org> | 2018-02-09 19:25:29 +0100 |
---|---|---|
committer | Bram Moolenaar <Bram@vim.org> | 2018-02-09 19:25:29 +0100 |
commit | 0d2073773218736e368786f0db7024bd9b9e7912 (patch) | |
tree | 9b28dc49158b0918814d7704fb80e4e734083c66 | |
parent | 8846ac5aedb568b9aae969f0ad2b9b1606522ca9 (diff) | |
download | vim-git-0d2073773218736e368786f0db7024bd9b9e7912.tar.gz |
patch 8.0.1488: emacs tags no longer workv8.0.1488
Problem: Emacs tags no longer work. (zdohnal)
Solution: Do not skip over end of line.
-rw-r--r-- | src/tag.c | 7 | ||||
-rw-r--r-- | src/testdir/test_tagjump.vim | 28 | ||||
-rw-r--r-- | src/version.c | 2 |
3 files changed, 32 insertions, 5 deletions
@@ -2958,12 +2958,9 @@ matching_line_len(char_u *lbuf) char_u *p = lbuf + 1; /* does the same thing as parse_match() */ - p += STRLEN(p) + 2; + p += STRLEN(p) + 1; #ifdef FEAT_EMACS_TAGS - if (*p) - p += STRLEN(p); - else - ++p; + p += STRLEN(p) + 1; #endif return (p - lbuf) + STRLEN(p); } diff --git a/src/testdir/test_tagjump.vim b/src/testdir/test_tagjump.vim index 0e51098eb..9f0accc3d 100644 --- a/src/testdir/test_tagjump.vim +++ b/src/testdir/test_tagjump.vim @@ -229,4 +229,32 @@ func Test_tag_file_encoding() call delete('Xtags1') endfunc +func Test_tagjump_etags() + if !has('emacs_tags') + return + endif + call writefile([ + \ "void foo() {}", + \ "int main(int argc, char **argv)", + \ "{", + \ "\tfoo();", + \ "\treturn 0;", + \ "}", + \ ], 'Xmain.c') + + call writefile([ + \ "\x0c", + \ "Xmain.c,64", + \ "void foo() {}\x7ffoo\x011,0", + \ "int main(int argc, char **argv)\x7fmain\x012,14", + \ ], 'Xtags') + set tags=Xtags + ta foo + call assert_equal('void foo() {}', getline('.')) + + call delete('Xtags') + call delete('Xmain.c') + bwipe! +endfunc + " vim: shiftwidth=2 sts=2 expandtab diff --git a/src/version.c b/src/version.c index 043cc623f..eb0c02a1e 100644 --- a/src/version.c +++ b/src/version.c @@ -772,6 +772,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 1488, +/**/ 1487, /**/ 1486, |