diff options
author | Bram Moolenaar <Bram@vim.org> | 2010-11-10 17:11:33 +0100 |
---|---|---|
committer | Bram Moolenaar <Bram@vim.org> | 2010-11-10 17:11:33 +0100 |
commit | 2a8caa414ec4b704284e39523b457eacca06eea0 (patch) | |
tree | 1977a13cb305faf6f96a79ee8178b3757bb3b050 /src | |
parent | 37dd018cdd3ddc8f502bcbd343773f0af8681f4d (diff) | |
download | vim-git-2a8caa414ec4b704284e39523b457eacca06eea0.tar.gz |
updated for version 7.3.053v7.3.053
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)
Diffstat (limited to 'src')
-rw-r--r-- | src/edit.c | 6 | ||||
-rw-r--r-- | src/version.c | 2 |
2 files changed, 7 insertions, 1 deletions
diff --git a/src/edit.c b/src/edit.c index 0bcc9db51..ad146c86c 100644 --- a/src/edit.c +++ b/src/edit.c @@ -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); } diff --git a/src/version.c b/src/version.c index f9609aa8e..ec2f91b95 100644 --- a/src/version.c +++ b/src/version.c @@ -715,6 +715,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 53, +/**/ 52, /**/ 51, |