diff options
author | Bram Moolenaar <Bram@vim.org> | 2013-06-12 22:08:58 +0200 |
---|---|---|
committer | Bram Moolenaar <Bram@vim.org> | 2013-06-12 22:08:58 +0200 |
commit | 2a876e40cebe45c773302b5b9518d07100888d6b (patch) | |
tree | efb810bc0190d1655306da7d70dc2ebed35cb52f /src/eval.c | |
parent | ec7944aaf2d5fd67b7bd59a69d6a393424b6c8f8 (diff) | |
download | vim-git-2a876e40cebe45c773302b5b9518d07100888d6b.tar.gz |
updated for version 7.3.1181v7.3.1181
Problem: Wrong error message for 1.0[0].
Solution: Check for funcref and float separately. (Yasuhiro Matsumoto)
Diffstat (limited to 'src/eval.c')
-rw-r--r-- | src/eval.c | 17 |
1 files changed, 11 insertions, 6 deletions
diff --git a/src/eval.c b/src/eval.c index 18512a97e..7e51a8a71 100644 --- a/src/eval.c +++ b/src/eval.c @@ -112,6 +112,7 @@ static char *e_dictrange = N_("E719: Cannot use [:] with a Dictionary"); static char *e_letwrong = N_("E734: Wrong variable type for %s="); static char *e_nofunc = N_("E130: Unknown function: %s"); static char *e_illvar = N_("E461: Illegal variable name: %s"); +static char *e_float_as_string = N_("E806: using Float as a String"); static dictitem_T globvars_var; /* variable used for g: */ #define globvarht globvardict.dv_hashtab @@ -5268,16 +5269,20 @@ eval_index(arg, rettv, evaluate, verbose) char_u *s; char_u *key = NULL; - if (rettv->v_type == VAR_FUNC -#ifdef FEAT_FLOAT - || rettv->v_type == VAR_FLOAT -#endif - ) + if (rettv->v_type == VAR_FUNC) { if (verbose) EMSG(_("E695: Cannot index a Funcref")); return FAIL; } +#ifdef FEAT_FLOAT + else if (rettv->v_type == VAR_FLOAT) + { + if (verbose) + EMSG(_(e_float_as_string)); + return FAIL; + } +#endif if (**arg == '.') { @@ -20085,7 +20090,7 @@ get_tv_string_buf_chk(varp, buf) break; #ifdef FEAT_FLOAT case VAR_FLOAT: - EMSG(_("E806: using Float as a String")); + EMSG(_(e_float_as_string)); break; #endif case VAR_STRING: |