Mercurial > vim
changeset 2049:23d366df1938 v7.2.335
updated for version 7.2.335
Problem: The CTRL-] command escapes too many characters.
Solution: Use a different list of characters to be escaped. (Sergey Khorev)
author | Bram Moolenaar <bram@zimbu.org> |
---|---|
date | Tue, 19 Jan 2010 15:24:27 +0100 |
parents | 351bf13db807 |
children | afcf9db31561 |
files | src/normal.c src/version.c |
diffstat | 2 files changed, 14 insertions(+), 4 deletions(-) [+] |
line wrap: on
line diff
--- a/src/normal.c +++ b/src/normal.c @@ -5406,6 +5406,7 @@ nv_ident(cap) int n = 0; /* init for GCC */ int cmdchar; int g_cmd; /* "g" command */ + int tag_cmd = FALSE; char_u *aux_ptr; int isman; int isman_s; @@ -5515,6 +5516,7 @@ nv_ident(cap) break; case ']': + tag_cmd = TRUE; #ifdef FEAT_CSCOPE if (p_cst) STRCPY(buf, "cstag "); @@ -5526,10 +5528,14 @@ nv_ident(cap) default: if (curbuf->b_help) STRCPY(buf, "he! "); - else if (g_cmd) - STRCPY(buf, "tj "); else - sprintf((char *)buf, "%ldta ", cap->count0); + { + tag_cmd = TRUE; + if (g_cmd) + STRCPY(buf, "tj "); + else + sprintf((char *)buf, "%ldta ", cap->count0); + } } /* @@ -5562,8 +5568,10 @@ nv_ident(cap) aux_ptr = (char_u *)(p_magic ? "/.*~[^$\\" : "/^$\\"); else if (cmdchar == '#') aux_ptr = (char_u *)(p_magic ? "/?.*~[^$\\" : "/?^$\\"); + else if (tag_cmd) + /* Don't escape spaces and Tabs in a tag with a backslash */ + aux_ptr = (char_u *)"\\|\"\n["; else - /* Don't escape spaces and Tabs in a tag with a backslash */ aux_ptr = (char_u *)"\\|\"\n*?["; p = buf + STRLEN(buf);