Mercurial > vim
changeset 915:d87865573d80 v7.0.041
updated for version 7.0-041
author | vimboss |
---|---|
date | Sun, 23 Jul 2006 20:12:24 +0000 |
parents | bc68103ea3f6 |
children | b8ed23ef6ff1 |
files | src/eval.c src/version.c |
diffstat | 2 files changed, 11 insertions(+), 5 deletions(-) [+] |
line wrap: on
line diff
--- a/src/eval.c +++ b/src/eval.c @@ -16465,9 +16465,12 @@ list2fpos(arg, posp, fnump) long i = 0; long n; - /* List must be: [fnum, lnum, col, coladd] */ - if (arg->v_type != VAR_LIST || l == NULL - || l->lv_len != (fnump == NULL ? 3 : 4)) + /* List must be: [fnum, lnum, col, coladd], where "fnum" is only there + * when "fnump" isn't NULL and "coladd" is optional. */ + if (arg->v_type != VAR_LIST + || l == NULL + || l->lv_len < (fnump == NULL ? 2 : 3) + || l->lv_len > (fnump == NULL ? 3 : 4)) return FAIL; if (fnump != NULL) @@ -16493,8 +16496,9 @@ list2fpos(arg, posp, fnump) #ifdef FEAT_VIRTUALEDIT n = list_find_nr(l, i, NULL); if (n < 0) - return FAIL; - posp->coladd = n; + posp->coladd = 0; + else + posp->coladd = n; #endif return OK;