changeset 5349:73cc7272de5e v7.4.027

updated for version 7.4.027 Problem: Another valgrind error when using CTRL-X CTRL-F at the start of the line. (Dominique Pelle) Solution: Don't call mb_ptr_back() at the start of the line. Add a test.
author Bram Moolenaar <bram@vim.org>
date Sun, 08 Sep 2013 20:00:48 +0200
parents dfdc81191d2e
children a83960ec9e6d
files src/edit.c src/testdir/test32.in src/version.c
diffstat 3 files changed, 16 insertions(+), 7 deletions(-) [+]
line wrap: on
line diff
--- a/src/edit.c
+++ b/src/edit.c
@@ -5183,15 +5183,19 @@ ins_complete(c)
 	}
 	else if (ctrl_x_mode == CTRL_X_FILES)
 	{
-	    char_u	*p = line + startcol;
-
 	    /* Go back to just before the first filename character. */
-	    mb_ptr_back(line, p);
-	    while (p > line && vim_isfilec(PTR2CHAR(p)))
+	    if (startcol > 0)
+	    {
+		char_u	*p = line + startcol;
+
 		mb_ptr_back(line, p);
-	    startcol = (int)(p - line) + 1;
-	    if (p == line && vim_isfilec(PTR2CHAR(p)))
-		startcol = 0;
+		while (p > line && vim_isfilec(PTR2CHAR(p)))
+		    mb_ptr_back(line, p);
+		if (p == line && vim_isfilec(PTR2CHAR(p)))
+		    startcol = 0;
+		else
+		    startcol = (int)(p - line) + 1;
+	    }
 
 	    compl_col += startcol;
 	    compl_length = (int)curs_col - startcol;
--- a/src/testdir/test32.in
+++ b/src/testdir/test32.in
@@ -36,6 +36,9 @@ kOM
 :w Xtest11.one
 :w Xtest11.two
 OIXA
+:" use CTRL-X CTRL-F to complete Xtest11.one, remove it and then use
+:" CTRL-X CTRL-F again to verify this doesn't cause trouble.
+OXddk
 :se cpt=w
 OST
 :se cpt=u nohid
--- a/src/version.c
+++ b/src/version.c
@@ -739,6 +739,8 @@ static char *(features[]) =
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    27,
+/**/
     26,
 /**/
     25,