patch 8.2.4896: expression in command block does not look after NL
Problem: Expression in command block does not look after NL when command is
typed.
Solution: Skip over NL also when not in a script. (closes #10358)
diff --git a/src/eval.c b/src/eval.c
index 18e196f..317446c 100644
--- a/src/eval.c
+++ b/src/eval.c
@@ -2175,7 +2175,8 @@
*getnext = FALSE;
if (in_vim9script()
&& evalarg != NULL
- && (evalarg->eval_cookie != NULL || evalarg->eval_cctx != NULL)
+ && (evalarg->eval_cookie != NULL || evalarg->eval_cctx != NULL
+ || *p == NL)
&& (*p == NUL || *p == NL
|| (vim9_comment_start(p) && VIM_ISWHITE(p[-1]))))
{
diff --git a/src/testdir/test_usercommands.vim b/src/testdir/test_usercommands.vim
index 8c588c5..3cb1c8b 100644
--- a/src/testdir/test_usercommands.vim
+++ b/src/testdir/test_usercommands.vim
@@ -705,6 +705,11 @@
END
call v9.CheckScriptSuccess(lines)
call assert_equal('true', g:result)
+ unlet g:result
+
+ call feedkeys(":EchoCond\<CR>", 'xt')
+ call assert_equal('true', g:result)
+
delcommand EchoCond
unlet g:result
diff --git a/src/version.c b/src/version.c
index df30685..d20ecf2 100644
--- a/src/version.c
+++ b/src/version.c
@@ -747,6 +747,8 @@
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 4896,
+/**/
4895,
/**/
4894,