patch 7.4.2263
Problem: :filter does not work for many commands. Can only get matching
messages.
Solution: Make :filter work for :command, :map, :list, :number and :print.
Make ":filter!" show non-matching lines.
diff --git a/src/getchar.c b/src/getchar.c
index 52b1853..9fcc62b 100644
--- a/src/getchar.c
+++ b/src/getchar.c
@@ -1919,7 +1919,7 @@
* This may do a blocking wait if "advance" is TRUE.
*
* if "advance" is TRUE (vgetc()):
- * really get the character.
+ * Really get the character.
* KeyTyped is set to TRUE in the case the user typed the key.
* KeyStuffed is TRUE if the character comes from the stuff buffer.
* if "advance" is FALSE (vpeekc()):
@@ -3987,6 +3987,9 @@
int len = 1;
char_u *mapchars;
+ if (message_filtered(mp->m_keys) && message_filtered(mp->m_str))
+ return;
+
if (msg_didout || msg_silent != 0)
{
msg_putchar('\n');