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,