summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/ex_eval.c8
-rw-r--r--src/testdir/test_vim9_cmd.vim14
-rw-r--r--src/version.c2
3 files changed, 23 insertions, 1 deletions
diff --git a/src/ex_eval.c b/src/ex_eval.c
index 9a2792a2ac..e9dbd107c8 100644
--- a/src/ex_eval.c
+++ b/src/ex_eval.c
@@ -940,8 +940,14 @@ ex_eval(exarg_T *eap)
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);
diff --git a/src/testdir/test_vim9_cmd.vim b/src/testdir/test_vim9_cmd.vim
index 4cd78f6d11..50719e1b54 100644
--- a/src/testdir/test_vim9_cmd.vim
+++ b/src/testdir/test_vim9_cmd.vim
@@ -651,6 +651,20 @@ def Test_use_register()
v9.CheckDefAndScriptFailure(lines, 'E1207:', 2)
lines =<< trim END
+ @a = 'echo "text"'
+ @a
+
+ END
+ v9.CheckDefAndScriptFailure(lines, 'E1207:', 2)
+
+ lines =<< trim END
+ @a = 'echo "text"'
+ @a
+ # comment
+ END
+ v9.CheckDefAndScriptFailure(lines, 'E1207:', 2)
+
+ lines =<< trim END
@/ = 'pattern'
@/
END
diff --git a/src/version.c b/src/version.c
index f0269e44dd..5ad75510f8 100644
--- a/src/version.c
+++ b/src/version.c
@@ -747,6 +747,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 4872,
+/**/
4871,
/**/
4870,