Mercurial > vim
changeset 26319:8b594193dcb6 v8.2.3690
patch 8.2.3690: Vim9: "filter #pat# cmd" does not work
Commit: https://github.com/vim/vim/commit/06bffe836c98a65d270579f08004503ffce9931c
Author: Bram Moolenaar <Bram@vim.org>
Date: Sun Nov 28 20:24:17 2021 +0000
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.
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Sun, 28 Nov 2021 21:30:03 +0100 |
parents | 724e772719eb |
children | f78e7a6a6f5e |
files | src/ex_docmd.c src/testdir/test_vim9_cmd.vim src/version.c |
diffstat | 3 files changed, 20 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/src/ex_docmd.c +++ b/src/ex_docmd.c @@ -2910,7 +2910,14 @@ parse_command_modifiers( 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 == '!') {
--- a/src/testdir/test_vim9_cmd.vim +++ b/src/testdir/test_vim9_cmd.vim @@ -714,6 +714,16 @@ def Test_command_modifier_filter() 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()