]> git.ipfire.org Git - thirdparty/vim.git/commitdiff
updated for version 7.3.053 v7.3.053
authorBram Moolenaar <Bram@vim.org>
Wed, 10 Nov 2010 16:11:33 +0000 (17:11 +0100)
committerBram Moolenaar <Bram@vim.org>
Wed, 10 Nov 2010 16:11:33 +0000 (17:11 +0100)
Problem:    complete() function doesn't reset complete direction.  Can't use
            an empty string in the list of matches.
Solution:   Set compl_direction to FORWARD.  Add "empty" key to allow empty
            words. (Kikuchan)

src/edit.c
src/version.c

index 0bcc9db518f1a30370899031a340fb9904bd6a1b..ad146c86cb8d17721558d3d051fb629669fd9346 100644 (file)
@@ -2662,6 +2662,7 @@ set_completion(startcol, list)
     if (stop_arrow() == FAIL)
        return;
 
+    compl_direction = FORWARD;
     if (startcol > curwin->w_cursor.col)
        startcol = curwin->w_cursor.col;
     compl_col = startcol;
@@ -3909,6 +3910,7 @@ ins_compl_add_tv(tv, dir)
     char_u     *word;
     int                icase = FALSE;
     int                adup = FALSE;
+    int                aempty = FALSE;
     char_u     *(cptext[CPT_COUNT]);
 
     if (tv->v_type == VAR_DICT && tv->vval.v_dict != NULL)
@@ -3926,13 +3928,15 @@ ins_compl_add_tv(tv, dir)
            icase = get_dict_number(tv->vval.v_dict, (char_u *)"icase");
        if (get_dict_string(tv->vval.v_dict, (char_u *)"dup", FALSE) != NULL)
            adup = get_dict_number(tv->vval.v_dict, (char_u *)"dup");
+       if (get_dict_string(tv->vval.v_dict, (char_u *)"empty", FALSE) != NULL)
+           aempty = get_dict_number(tv->vval.v_dict, (char_u *)"empty");
     }
     else
     {
        word = get_tv_string_chk(tv);
        vim_memset(cptext, 0, sizeof(cptext));
     }
-    if (word == NULL || *word == NUL)
+    if (word == NULL || (!aempty && *word == NUL))
        return FAIL;
     return ins_compl_add(word, -1, icase, NULL, cptext, dir, 0, adup);
 }
index f9609aa8e69e86e9fec2453b32772aa9bef5a314..ec2f91b95d6cd220ea5b23d18445eadafde4f86d 100644 (file)
@@ -714,6 +714,8 @@ static char *(features[]) =
 
 static int included_patches[] =
 {   /* Add new patch number below this line */
+/**/
+    53,
 /**/
     52,
 /**/