patch 8.2.0611: Vim9: no check for space before #comment

Problem:    Vim9: no check for space before #comment.
Solution:   Add space checks.
diff --git a/src/eval.c b/src/eval.c
index 94ecf93..43c2008 100644
--- a/src/eval.c
+++ b/src/eval.c
@@ -1773,7 +1773,7 @@
 
     p = skipwhite(arg);
     ret = eval1(&p, rettv, evaluate);
-    if (ret == FAIL || !ends_excmd(*p))
+    if (ret == FAIL || !ends_excmd2(arg, p))
     {
 	if (ret != FAIL)
 	    clear_tv(rettv);
diff --git a/src/evalvars.c b/src/evalvars.c
index b5075d5..1d0599f 100644
--- a/src/evalvars.c
+++ b/src/evalvars.c
@@ -737,7 +737,7 @@
 	    emsg(_(e_invarg));
 	else if (expr[0] == '.')
 	    emsg(_("E985: .= is not supported with script version 2"));
-	else if (!ends_excmd(*arg))
+	else if (!ends_excmd2(eap->cmd, arg))
 	    // ":let var1 var2"
 	    arg = list_arg_vars(eap, arg, &first);
 	else if (!eap->skip)
@@ -1068,7 +1068,7 @@
     char_u	*tofree;
     typval_T    tv;
 
-    while (!ends_excmd(*arg) && !got_int)
+    while (!ends_excmd2(eap->cmd, arg) && !got_int)
     {
 	if (error || eap->skip)
 	{
diff --git a/src/ex_docmd.c b/src/ex_docmd.c
index e2d771e..43cd013 100644
--- a/src/ex_docmd.c
+++ b/src/ex_docmd.c
@@ -7903,7 +7903,7 @@
 	    p = skipwhite(p);
 
 	    // Check for trailing illegal characters
-	    if (!ends_excmd(*p))
+	    if (!ends_excmd2(eap->arg, p))
 		eap->errmsg = e_trailing;
 	    else
 		eap->nextcmd = check_nextcmd(p);
diff --git a/src/testdir/test_vim9_script.vim b/src/testdir/test_vim9_script.vim
index 4b73399..70653f0 100644
--- a/src/testdir/test_vim9_script.vim
+++ b/src/testdir/test_vim9_script.vim
@@ -1208,6 +1208,69 @@
       'let g:var = 123',
       'unlet g:var # something',
       ], 'E488:')
+
+  CheckScriptSuccess([
+      'vim9script',
+      'if 1 # comment',
+      '  echo "yes"',
+      'elseif 2 #comment',
+      '  echo "no"',
+      'endif',
+      ])
+
+  CheckScriptFailure([
+      'vim9script',
+      'if 1# comment',
+      '  echo "yes"',
+      'endif',
+      ], 'E15:')
+
+  CheckScriptFailure([
+      'vim9script',
+      'if 0 # comment',
+      '  echo "yes"',
+      'elseif 2#comment',
+      '  echo "no"',
+      'endif',
+      ], 'E15:')
+
+  CheckScriptSuccess([
+      'vim9script',
+      'let # comment',
+      ])
+
+  CheckScriptFailure([
+      'vim9script',
+      'let# comment',
+      ], 'E121:')
+
+  CheckScriptSuccess([
+      'vim9script',
+      'let v:version # comment',
+      ])
+
+  CheckScriptFailure([
+      'vim9script',
+      'let v:version# comment',
+      ], 'E121:')
+
+  CheckScriptSuccess([
+      'vim9script',
+      'new'
+      'call setline(1, ["# define pat", "last"])',
+      '$',
+      'dsearch /pat/ #comment',
+      'bwipe!',
+      ])
+
+  CheckScriptFailure([
+      'vim9script',
+      'new'
+      'call setline(1, ["# define pat", "last"])',
+      '$',
+      'dsearch /pat/#comment',
+      'bwipe!',
+      ], 'E488:')
 enddef
 
 " Keep this last, it messes up highlighting.
diff --git a/src/version.c b/src/version.c
index 1c5ad56..d051d79 100644
--- a/src/version.c
+++ b/src/version.c
@@ -747,6 +747,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    611,
+/**/
     610,
 /**/
     609,