patch 8.2.3405: cannot have a comment line in a {} block of a user command
Problem: Cannot have a comment line in a {} block of a user command.
Solution: Continue after the line break. (closes #8837)
diff --git a/src/ex_docmd.c b/src/ex_docmd.c
index 5898073..c58c414 100644
--- a/src/ex_docmd.c
+++ b/src/ex_docmd.c
@@ -2807,7 +2807,16 @@
// ignore comment and empty lines
if (comment_start(eap->cmd, starts_with_colon))
+ {
+ // a comment ends at a NL
+ if (eap->nextcmd == NULL)
+ {
+ eap->nextcmd = vim_strchr(eap->cmd, '\n');
+ if (eap->nextcmd != NULL)
+ ++eap->nextcmd;
+ }
return FAIL;
+ }
if (*eap->cmd == NUL)
{
if (!skip_only)
diff --git a/src/testdir/test_usercommands.vim b/src/testdir/test_usercommands.vim
index 9cb592e..3f15dc1 100644
--- a/src/testdir/test_usercommands.vim
+++ b/src/testdir/test_usercommands.vim
@@ -624,7 +624,8 @@
func Test_usercmd_with_block()
command DoSomething {
- g:didit = 'yes'
+ g:didit = 'yes' # comment
+ # comment line
g:didmore = 'more'
}
DoSomething
diff --git a/src/version.c b/src/version.c
index cfddf6b..742f899 100644
--- a/src/version.c
+++ b/src/version.c
@@ -756,6 +756,8 @@
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 3405,
+/**/
3404,
/**/
3403,