emacs-devel
[Top][All Lists]
Advanced

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

[PATCH] Fix Subject when forwarding message with 2-line From


From: Mike Kupfer
Subject: [PATCH] Fix Subject when forwarding message with 2-line From
Date: Fri, 26 Nov 2021 17:49:18 -0800

Hi, is the attached patch to MH-E eligible for emacs-28, or should it go
into master?

The patch fixes a problem that happens when forwarding an email that has
a 2-line From line, e.g.,

  From: "Some User"
    <some.user@company.com>
  To: Another User <another.user@another-company.com>
  Subject: 2-line From

Without the fix, the user is presented with a corrupted set of headers,
e.g.,

  From: Mike Kupfer <mkupfer@alum.berkeley.edu>
  To: 
  cc: 
  Fcc: +inbox
  Subject: "Some User"
  X-Mailer: MH-E 8.6+git; nmh 1.7.1; GNU Emacs 28.0.60
  : 2-line From

With the fix, the headers are correct, e.g.,

  From: Mike Kupfer <mkupfer@alum.berkeley.edu>
  To: 
  cc: 
  Fcc: +inbox
  Subject: "Some User": 2-line From
  X-Mailer: MH-E 8.6+git; nmh 1.7.1; GNU Emacs 28.0.60

The problem exists in Emacs 27, so this isn't fixing a regression.  On
the other hand, it only affects forwarding with MH-E.

thanks,
mike
>From 0d77d7f483889ad42a38f8e05deffc2ff7d527c9 Mon Sep 17 00:00:00 2001
From: Mike Kupfer <mkupfer@alum.berkeley.edu>
Date: Fri, 26 Nov 2021 13:59:14 -0800
Subject: [PATCH] Fix Subject when forwarding message with 2-line From

* lisp/mh-e/mh-comp.el (mh-forwarded-letter-subject): Collapse
two-line From headers into a single line (SF#266).  Based on a
suggestion from Lester Buck (many thanks!).
---
 lisp/mh-e/mh-comp.el | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/lisp/mh-e/mh-comp.el b/lisp/mh-e/mh-comp.el
index 404b6b3ce7..e44c42e280 100644
--- a/lisp/mh-e/mh-comp.el
+++ b/lisp/mh-e/mh-comp.el
@@ -638,6 +638,8 @@ mh-forward
 (defun mh-forwarded-letter-subject (from subject)
   "Return a Subject suitable for a forwarded message.
 Original message has headers FROM and SUBJECT."
+  ;; Join continued lines.
+  (setq from (replace-regexp-in-string "\\s *\n\\s +" " " from))
   (let ((addr-start (string-search "<" from))
         (comment (string-search "(" from)))
     (cond ((and addr-start (> addr-start 0))
-- 
2.20.1


reply via email to

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