forked from aniani/vim
updated for version 7.4.574
Problem: No error for eval('$'). Solution: Check for empty name. (Yasuhiro Matsumoto)
This commit is contained in:
@@ -7867,7 +7867,7 @@ get_env_tv(arg, rettv, evaluate)
|
|||||||
if (evaluate)
|
if (evaluate)
|
||||||
{
|
{
|
||||||
if (len == 0)
|
if (len == 0)
|
||||||
return FAIL; /* can't be an environment variable */
|
return FAIL; /* invalid empty name */
|
||||||
|
|
||||||
cc = name[len];
|
cc = name[len];
|
||||||
name[len] = NUL;
|
name[len] = NUL;
|
||||||
@@ -10117,14 +10117,18 @@ f_eval(argvars, rettv)
|
|||||||
typval_T *argvars;
|
typval_T *argvars;
|
||||||
typval_T *rettv;
|
typval_T *rettv;
|
||||||
{
|
{
|
||||||
char_u *s;
|
char_u *s, *p;
|
||||||
|
|
||||||
s = get_tv_string_chk(&argvars[0]);
|
s = get_tv_string_chk(&argvars[0]);
|
||||||
if (s != NULL)
|
if (s != NULL)
|
||||||
s = skipwhite(s);
|
s = skipwhite(s);
|
||||||
|
|
||||||
|
p = s;
|
||||||
if (s == NULL || eval1(&s, rettv, TRUE) == FAIL)
|
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->v_type = VAR_NUMBER;
|
||||||
rettv->vval.v_number = 0;
|
rettv->vval.v_number = 0;
|
||||||
}
|
}
|
||||||
|
@@ -741,6 +741,8 @@ static char *(features[]) =
|
|||||||
|
|
||||||
static int included_patches[] =
|
static int included_patches[] =
|
||||||
{ /* Add new patch number below this line */
|
{ /* Add new patch number below this line */
|
||||||
|
/**/
|
||||||
|
574,
|
||||||
/**/
|
/**/
|
||||||
573,
|
573,
|
||||||
/**/
|
/**/
|
||||||
|
Reference in New Issue
Block a user