0
0
mirror of https://github.com/vim/vim.git synced 2025-09-27 04:14:06 -04:00

patch 8.2.3376: Vim9: no warning that "@r" does not do anything

Problem:    Vim9: no warning that "@r" does not do anything.
Solution:   Give a "no effect" error. (closes #8779)
This commit is contained in:
Bram Moolenaar
2021-08-25 22:37:36 +02:00
parent df9070e300
commit 4799cef85c
5 changed files with 32 additions and 15 deletions

View File

@@ -887,6 +887,26 @@ report_discard_pending(int pending, void *value)
}
}
int
cmd_is_name_only(char_u *arg)
{
char_u *p = arg;
char_u *alias;
int name_only = FALSE;
if (*p == '&')
{
++p;
if (STRNCMP("l:", p, 2) == 0 || STRNCMP("g:", p, 2) == 0)
p += 2;
}
else if (*p == '@')
++p;
get_name_len(&p, &alias, FALSE, FALSE);
name_only = ends_excmd2(arg, skipwhite(p));
vim_free(alias);
return name_only;
}
/*
* ":eval".
@@ -897,18 +917,10 @@ ex_eval(exarg_T *eap)
typval_T tv;
evalarg_T evalarg;
int name_only = FALSE;
char_u *p;
long lnum = SOURCING_LNUM;
if (in_vim9script())
{
char_u *alias;
p = eap->arg;
get_name_len(&p, &alias, FALSE, FALSE);
name_only = ends_excmd2(eap->arg, skipwhite(p));
vim_free(alias);
}
name_only = cmd_is_name_only(eap->arg);
fill_evalarg_from_eap(&evalarg, eap, eap->skip);