Problem: Vim9: # comment not sufficiently tested
Solution: Check for preceding white space.
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)
':# 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',
'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"',
static int included_patches[] =
{ /* Add new patch number below this line */
+/**/
+ 586,
/**/
585,
/**/