patch 8.2.0586: Vim9: # comment not sufficiently tested
Problem: Vim9: # comment not sufficiently tested
Solution: Check for preceding white space.
diff --git a/src/eval.c b/src/eval.c
index af22896..1840f74 100644
--- a/src/eval.c
+++ b/src/eval.c
@@ -6143,7 +6143,7 @@
if (eap->skip)
++emsg_skip;
- while (*arg != NUL && *arg != '|' && *arg != '\n')
+ while (!ends_excmd2(eap->cmd, arg) || *arg == '"')
{
ret = eval1_emsg(&arg, &rettv, !eap->skip);
if (ret == FAIL)
diff --git a/src/testdir/test_vim9_script.vim b/src/testdir/test_vim9_script.vim
index a96910e..58363ba 100644
--- a/src/testdir/test_vim9_script.vim
+++ b/src/testdir/test_vim9_script.vim
@@ -1025,6 +1025,20 @@
':# something',
], 'E488:')
+ { # block start
+ } # block end
+ CheckDefFailure([
+ '{# comment',
+ ], 'E488:')
+ CheckDefFailure([
+ '{',
+ '}# comment',
+ ], 'E488:')
+
+ echo "yes" # comment
+ CheckDefFailure([
+ 'echo "yes"# comment',
+ ], 'E488:')
CheckScriptSuccess([
'vim9script',
'echo "yes" # something',
@@ -1041,6 +1055,29 @@
'echo "yes" # something',
], 'E121:')
+ exe "echo" # comment
+ CheckDefFailure([
+ 'exe "echo"# comment',
+ ], 'E488:')
+ CheckScriptSuccess([
+ 'vim9script',
+ 'exe "echo" # something',
+ ])
+ CheckScriptFailure([
+ 'vim9script',
+ 'exe "echo"# something',
+ ], 'E121:')
+ CheckDefFailure([
+ 'exe # comment',
+ ], 'E1015:')
+ CheckScriptFailure([
+ 'vim9script',
+ 'exe# something',
+ ], 'E121:')
+ CheckScriptFailure([
+ 'exe "echo" # something',
+ ], 'E121:')
+
CheckDefFailure([
'try# comment',
'echo "yes"',
diff --git a/src/version.c b/src/version.c
index ca8d71c..5ff481f 100644
--- a/src/version.c
+++ b/src/version.c
@@ -747,6 +747,8 @@
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 586,
+/**/
585,
/**/
584,