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);
--- a/src/version.c
+++ b/src/version.c
@@ -682,6 +682,8 @@ static char *(features[]) =
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    335,
+/**/
     334,
 /**/
     333,