Subject: bug#59206: rmail-summary-apply-filters-consecutively causes wrong-type-argument error

From: Nicolas Graner <[email-masked]>
Date: Fri, 11 Nov 2022 23:49:22 +0100

When the variable rmail-summary-apply-filters-consecutively is non-nil,
if you execute one of the rmail-summary-by-* commands when there is no
existing summary, you get an error.

This is because those commands call
rmail-summary-fill-displayed-messages, which assumes
rmail-summary-buffer is a buffer, but in this case it is nil.

Example (starting from emacs -Q):

C-u M-x rmail [any rmail file]
M-: (setq rmail-summary-apply-filters-consecutively t)<RET>
M-x rmail-summary-from-senders<RET>testing<RET>

Debugger entered--Lisp error: (wrong-type-argument stringp nil)
  rmail-summary-fill-displayed-messages()
  rmail-summary-by-senders("testing")
  funcall-interactively(rmail-summary-by-senders "testing")
  call-interactively(rmail-summary-by-senders record nil)
  command-execute(rmail-summary-by-senders record)
  execute-extended-command(nil "rmail-summary-by-senders" "rmail-summary-by-senders")
  funcall-interactively(execute-extended-command nil "rmail-summary-by-senders" "rmail-summary-by-senders")
  call-interactively(execute-extended-command nil nil)
  command-execute(execute-extended-command)