1
0
forked from aniani/vim

patch 8.2.2628: Vim9: #{ can still be used at the script level

Problem:    Vim9: #{ can still be used at the script level.
Solution:   Give an error for #{ like in a :def function.
This commit is contained in:
Bram Moolenaar
2021-03-20 13:29:38 +01:00
parent 4355894869
commit 5c7a299c16
4 changed files with 15 additions and 7 deletions

View File

@@ -2228,7 +2228,8 @@ eval0(
if (!aborting()
&& did_emsg == did_emsg_before
&& called_emsg == called_emsg_before
&& (flags & EVAL_CONSTANT) == 0)
&& (flags & EVAL_CONSTANT) == 0
&& (!in_vim9script() || !vim9_bad_comment(p)))
semsg(_(e_invexpr2), arg);
// Some of the expression may not have been consumed. Do not check for
@@ -3362,7 +3363,11 @@ eval7(
/*
* Dictionary: #{key: val, key: val}
*/
case '#': if (!in_vim9script() && (*arg)[1] == '{')
case '#': if (in_vim9script())
{
ret = vim9_bad_comment(*arg) ? FAIL : NOTDONE;
}
else if ((*arg)[1] == '{')
{
++*arg;
ret = eval_dict(arg, rettv, evalarg, TRUE);