bug-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#59007: rmail-forward generates wrong-type-argument error


From: Nicolas Graner
Subject: bug#59007: rmail-forward generates wrong-type-argument error
Date: Thu, 03 Nov 2022 22:49:43 +0100

In Emacs 29.0.50 master, the command rmail-forward always generates an
error.

To reproduce, open any Rmail file with rmail and type "f".

Debugger entered--Lisp error: (wrong-type-argument stringp nil)
  string-match("\\`[^ @]+@[^ @]+\\'" nil nil t)
  message-mail(nil "[nicolas@graner.name: testing]" ((In-Reply-To) ("cc")) nil 
nil (rmail-yank-current-message #<buffer bug-test>) ((rmail-mark-message 
#<buffer bug-test> (1) 5)) (rmail-mail-return #<buffer bug-test>))
  compose-mail(nil "[nicolas@graner.name: testing]" ((In-Reply-To) ("cc")) nil 
nil (rmail-yank-current-message #<buffer bug-test>) ((rmail-mark-message 
#<buffer bug-test> (1) 5)) (rmail-mail-return #<buffer bug-test>))
  rmail-start-mail(nil nil "[nicolas@graner.name: testing]" nil nil #<buffer 
bug-test> ((rmail-mark-message #<buffer bug-test> (1) 5)) t)
  rmail-forward(nil)
  funcall-interactively(rmail-forward nil)
  call-interactively(rmail-forward nil nil)
  command-execute(rmail-forward)

Explanation:

In message-mail, code was added to fix incorrect In-Reply-To headers
sent by Firefox. This code assumes that the value of the header is a
string, but in messages generated by rmail-forward, the value of
In-Reply-To is nil.

Suggested patch:

diff --git a/lisp/gnus/message.el b/lisp/gnus/message.el
index 24cba97718..3bbd68bdcd 100644
--- a/lisp/gnus/message.el
+++ b/lisp/gnus/message.el
@@ -7034,6 +7034,7 @@ message-mail
           ;; Firefox sends us In-Reply-To headers that are Message-IDs
           ;; without <> around them.  Fix that.
           (when (and (eq (car h) 'In-Reply-To)
+                     (stringp (cdr h))
                      ;; Looks like a Message-ID.
                      (string-match-p "\\`[^ @]+@[^ @]+\\'" (cdr h))
                      (not (string-match-p "\\`<.*>\\'" (cdr h))))





reply via email to

[Prev in Thread] Current Thread [Next in Thread]