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/ex_cmds.c b/src/ex_cmds.c
index 64d14ae..9f2cd95 100644
--- a/src/ex_cmds.c
+++ b/src/ex_cmds.c
@@ -2918,6 +2918,10 @@
 {
     int		save_silent = silent_mode;
 
+    /* apply :filter /pat/ */
+    if (message_filtered(ml_get(lnum)))
+	return;
+
     msg_start();
     silent_mode = FALSE;
     info_message = TRUE;	/* use mch_msg(), not mch_errmsg() */