patch 8.2.1178: Vim9: filter function recognized as command modifier
Problem: Vim9: filter function recognized as command modifier, leading to a
crash.
Solution: Clear cmdmod after freeing items. Do not recognize a command
modifier followed by non-white space. (closes #6434)
diff --git a/src/testdir/test_vim9_cmd.vim b/src/testdir/test_vim9_cmd.vim
index 801404d..676e97c 100644
--- a/src/testdir/test_vim9_cmd.vim
+++ b/src/testdir/test_vim9_cmd.vim
@@ -265,6 +265,12 @@
endif
enddef
+def Test_filter_is_not_modifier()
+ let tags = [{'a': 1, 'b': 2}, {'x': 3, 'y': 4}]
+ filter(tags, { _, v -> has_key(v, 'x') ? 1 : 0 })
+ assert_equal([#{x: 3, y: 4}], tags)
+enddef
+
def Test_eval_command()
let from = 3
let to = 5