emacs-diffs
[Top][All Lists]
Advanced

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

master 5faa0bfdda: Massage In-Reply-To data in message-mail


From: Lars Ingebrigtsen
Subject: master 5faa0bfdda: Massage In-Reply-To data in message-mail
Date: Mon, 13 Jun 2022 10:47:36 -0400 (EDT)

branch: master
commit 5faa0bfdda012d049ddfa24f119ca33e16b026a7
Author: Lars Ingebrigtsen <larsi@gnus.org>
Commit: Lars Ingebrigtsen <larsi@gnus.org>

    Massage In-Reply-To data in message-mail
    
    * lisp/gnus/message.el (message-mail): Fix up Message-IDs from
    Firefox (bug#55926).
---
 lisp/gnus/message.el | 10 +++++++++-
 1 file changed, 9 insertions(+), 1 deletion(-)

diff --git a/lisp/gnus/message.el b/lisp/gnus/message.el
index 5936d29c9d..6973d8a86b 100644
--- a/lisp/gnus/message.el
+++ b/lisp/gnus/message.el
@@ -7017,7 +7017,15 @@ is a function used to switch to and display the mail 
buffer."
        ;; https://lists.gnu.org/r/emacs-devel/2011-01/msg00337.html
        ;; We need to convert any string input, eg from rmail-start-mail.
        (dolist (h other-headers other-headers)
-         (if (stringp (car h)) (setcar h (intern (capitalize (car h)))))))
+         (when (stringp (car h))
+            (setcar h (intern (capitalize (car h)))))
+          ;; Firefox sends us In-Reply-To headers that are Message-IDs
+          ;; without <> around them.  Fix that.
+          (when (and (eq (car h) 'In-Reply-To)
+                     ;; Looks like a Message-ID.
+                     (string-match-p "\\`[^ @]+@[^ @]+\\'" (cdr h))
+                     (not (string-match-p "\\`<.*>\\'" (cdr h))))
+            (setcdr h (concat "<" (cdr h) ">")))))
        yank-action send-actions continue switch-function
        return-action))))
 



reply via email to

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