patch 8.2.4872: Vim9: no error for using an expression only
Problem: Vim9: no error for using an expression only at the script level
when followed by an empty line.
Solution: Do not check the line number but whether something follows.
(closes #10357)
diff --git a/src/ex_eval.c b/src/ex_eval.c
index 9a2792a..e9dbd10 100644
--- a/src/ex_eval.c
+++ b/src/ex_eval.c
@@ -940,8 +940,14 @@
if (eval0(eap->arg, &tv, eap, &evalarg) == OK)
{
clear_tv(&tv);
- if (in_vim9script() && name_only && lnum == SOURCING_LNUM)
+ if (in_vim9script() && name_only
+ && (evalarg.eval_tofree == NULL
+ || ends_excmd2(evalarg.eval_tofree,
+ skipwhite(evalarg.eval_tofree))))
+ {
+ SOURCING_LNUM = lnum;
semsg(_(e_expression_without_effect_str), eap->arg);
+ }
}
clear_evalarg(&evalarg, eap);