Skip to content

Commit 4f6b6ed

Browse files
committed
patch 8.2.1923: Vim9: "filter" command modifier doesn't work
Problem: Vim9: "filter" command modifier doesn't work. Solution: Check for space on char before argument. (closes #7216, closes #7222)
1 parent 185577e commit 4f6b6ed

3 files changed

Lines changed: 15 additions & 1 deletion

File tree

src/ex_docmd.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2763,7 +2763,7 @@ parse_command_modifiers(
27632763
}
27642764
#ifdef FEAT_EVAL
27652765
// Avoid that "filter(arg)" is recognized.
2766-
if (in_vim9script() && !VIM_ISWHITE(*p))
2766+
if (in_vim9script() && !VIM_ISWHITE(p[-1]))
27672767
break;
27682768
#endif
27692769
if (skip_only)

src/testdir/test_vim9_cmd.vim

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -312,6 +312,18 @@ def Test_filter_is_not_modifier()
312312
assert_equal([#{x: 3, y: 4}], tags)
313313
enddef
314314

315+
def Test_filter_is_recognized()
316+
var lines =<< trim END
317+
final expected = "\nType Name Content\n c \"c piyo"
318+
@a = 'hoge'
319+
@b = 'fuga'
320+
@c = 'piyo'
321+
322+
assert_equal(execute('filter /piyo/ registers abc'), expected)
323+
END
324+
CheckDefAndScriptSuccess(lines)
325+
enddef
326+
315327
def Test_eval_command()
316328
var from = 3
317329
var to = 5

src/version.c

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -750,6 +750,8 @@ static char *(features[]) =
750750

751751
static int included_patches[] =
752752
{ /* Add new patch number below this line */
753+
/**/
754+
1923,
753755
/**/
754756
1922,
755757
/**/

0 commit comments

Comments
 (0)