Mercurial > vim
diff src/eval.c @ 829:dc8197342755 v7.0d04
updated for version 7.0d04
author | vimboss |
---|---|
date | Fri, 14 Apr 2006 20:42:25 +0000 |
parents | 1cdd2661f34c |
children | 52d17d53b555 |
line wrap: on
line diff
--- a/src/eval.c +++ b/src/eval.c @@ -4696,8 +4696,8 @@ eval7(arg, rettv, evaluate) } /* - * Evaluate an "[expr]" or "[expr:expr]" index. - * "*arg" points to the '['. + * Evaluate an "[expr]" or "[expr:expr]" index. Also "dict.key". + * "*arg" points to the '[' or '.'. * Returns FAIL or OK. "*arg" is advanced to after the ']'. */ static int @@ -4867,7 +4867,9 @@ eval_index(arg, rettv, evaluate, verbose if (n2 < 0) n2 = len + n2; - if (!empty2 && (n2 < 0 || n2 >= len || n2 + 1 < n1)) + else if (n2 >= len) + n2 = len - 1; + if (!empty2 && (n2 < 0 || n2 + 1 < n1)) { if (verbose) EMSGN(_(e_listidx), n2);