patch 8.2.3690: Vim9: "filter #pat# cmd" does not work
Problem: Vim9: "filter #pat# cmd" does not work.
Solution: Do not see #pat# as a comment.
diff --git a/src/ex_docmd.c b/src/ex_docmd.c
index d74ef90..6d2923c 100644
--- a/src/ex_docmd.c
+++ b/src/ex_docmd.c
@@ -2910,7 +2910,14 @@
int c = 0;
if (!checkforcmd_noparen(&p, "filter", 4)
- || *p == NUL || ends_excmd(*p))
+ || *p == NUL
+ || (ends_excmd(*p)
+#ifdef FEAT_EVAL
+ // in ":filter #pat# cmd" # does not
+ // start a comment
+ && (!in_vim9script() || VIM_ISWHITE(p[1]))
+#endif
+ ))
break;
if (*p == '!')
{
diff --git a/src/testdir/test_vim9_cmd.vim b/src/testdir/test_vim9_cmd.vim
index 7a05189..57796b6 100644
--- a/src/testdir/test_vim9_cmd.vim
+++ b/src/testdir/test_vim9_cmd.vim
@@ -714,6 +714,16 @@
assert_match('very specific z3d37dh234 string', Screenline(&lines))
END
CheckDefAndScriptSuccess(lines)
+
+ lines =<< trim END
+ edit foobar
+ redir => g:filter_out
+ filter #foobar# ls
+ redir END
+ assert_match('"foobar"', g:filter_out)
+ unlet g:filter_out
+ END
+ CheckDefAndScriptSuccess(lines)
enddef
def Test_win_command_modifiers()
diff --git a/src/version.c b/src/version.c
index deefcf0..d7c2d69 100644
--- a/src/version.c
+++ b/src/version.c
@@ -758,6 +758,8 @@
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 3690,
+/**/
3689,
/**/
3688,