Small mail-utils fix for bug 7760.

* lisp/mail/mail-utils.el (mail-mbox-from): Handle From: headers with
multiple addresses.
This commit is contained in:
Glenn Morris 2011-01-01 18:35:23 -08:00
parent 01e6260095
commit 8de31eeccb
2 changed files with 20 additions and 9 deletions

View file

@ -1,3 +1,8 @@
2011-01-02 Glenn Morris <rgm@gnu.org>
* mail/mail-utils.el (mail-mbox-from): Handle From: headers with
multiple addresses. (Bug#7760)
2010-12-31 Michael Albinus <michael.albinus@gmx.de>
* net/tramp.el (tramp-methods): Add recursive options to "scpc",
@ -12324,7 +12329,7 @@ See ChangeLog.14 for earlier changes.
;; coding: utf-8
;; End:
Copyright (C) 2009, 2010 Free Software Foundation, Inc.
Copyright (C) 2009, 2010, 2011 Free Software Foundation, Inc.
This file is part of GNU Emacs.

View file

@ -1,7 +1,7 @@
;;; mail-utils.el --- utility functions used both by rmail and rnews
;; Copyright (C) 1985, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008,
;; 2009, 2010 Free Software Foundation, Inc.
;; 2009, 2010, 2011 Free Software Foundation, Inc.
;; Maintainer: FSF
;; Keywords: mail, news
@ -398,13 +398,19 @@ matches may be returned from the message body."
(defun mail-mbox-from ()
"Return an mbox \"From \" line for the current message.
The buffer should be narrowed to just the header."
(let ((from (or (mail-fetch-field "from")
(mail-fetch-field "really-from")
(mail-fetch-field "sender")
(mail-fetch-field "return-path")
"unknown"))
(date (mail-fetch-field "date")))
(format "From %s %s\n" (mail-strip-quoted-names from)
(let* ((from (mail-strip-quoted-names (or (mail-fetch-field "from")
(mail-fetch-field "really-from")
(mail-fetch-field "sender")
(mail-fetch-field "return-path")
"unknown")))
(date (mail-fetch-field "date"))
;; A From: header can contain multiple addresses, a "From "
;; line must contain only one. (Bug#7760)
;; See eg RFC 5322, 3.6.2. Originator Fields.
(end (string-match "[ \t]*[,\n]" from)))
(format "From %s %s\n" (if end
(substring from 0 end)
from)
(or (and date
(ignore-errors
(current-time-string (date-to-time date))))