diff options
author | Bastian Winkler <buz@netbuz.org> | 2015-04-29 20:11:15 +0200 |
---|---|---|
committer | Michael Reed <m.reed@mykolab.com> | 2015-05-03 19:39:56 -0400 |
commit | 115f137b124a8b26c92656cf190e340b2364a5a2 (patch) | |
tree | db67c680d2fe1a7e2aea2677b959c417b7c3dad3 /src | |
parent | 0d6ce4c770ea471913c38414ee7d8ac8f516e8f8 (diff) | |
download | rneovim-115f137b124a8b26c92656cf190e340b2364a5a2.tar.gz rneovim-115f137b124a8b26c92656cf190e340b2364a5a2.tar.bz2 rneovim-115f137b124a8b26c92656cf190e340b2364a5a2.zip |
vim-patch:7.4.574 #2539
Problem: No error for eval('$').
Solution: Check for empty name. (Yasuhiro Matsumoto)
https://github.com/vim/vim/commit/v7-4-574
Diffstat (limited to 'src')
-rw-r--r-- | src/nvim/eval.c | 12 | ||||
-rw-r--r-- | src/nvim/version.c | 2 |
2 files changed, 10 insertions, 4 deletions
diff --git a/src/nvim/eval.c b/src/nvim/eval.c index df301f4266..c4c2821b80 100644 --- a/src/nvim/eval.c +++ b/src/nvim/eval.c @@ -6363,8 +6363,8 @@ static int get_env_tv(char_u **arg, typval_T *rettv, int evaluate) len = get_env_len(arg); if (evaluate) { - if (len == 0) { - return FAIL; // Can't be an environment variable. + if (len == 0) { + return FAIL; // Invalid empty name. } cc = name[len]; name[len] = NUL; @@ -8145,11 +8145,17 @@ static void f_eval(typval_T *argvars, typval_T *rettv) if (s != NULL) s = skipwhite(s); + char_u *p = s; if (s == NULL || eval1(&s, rettv, TRUE) == FAIL) { + if (p != NULL && !aborting()) { + EMSG2(_(e_invexpr2), p); + } + need_clr_eos = FALSE; rettv->v_type = VAR_NUMBER; rettv->vval.v_number = 0; - } else if (*s != NUL) + } else if (*s != NUL) { EMSG(_(e_trailing)); + } } /* diff --git a/src/nvim/version.c b/src/nvim/version.c index 76460959ed..dc0454ffc1 100644 --- a/src/nvim/version.c +++ b/src/nvim/version.c @@ -209,7 +209,7 @@ static int included_patches[] = { //577, //576, //575, - //574, + 574, //573, 572, //571 NA |