Mercurial > emacs
changeset 102050:ec7d88c6aa9d
(rmail-output-as-mbox): Start search from point-min. If constructing a
"From " line, prefer the date header over the current time.
author | Glenn Morris <rgm@gnu.org> |
---|---|
date | Sun, 15 Feb 2009 03:26:17 +0000 |
parents | 37d66cffaf97 |
children | cb3542dc1e2f |
files | lisp/ChangeLog lisp/mail/rmailout.el |
diffstat | 2 files changed, 18 insertions(+), 24 deletions(-) [+] |
line wrap: on
line diff
--- a/lisp/ChangeLog Sun Feb 15 02:52:14 2009 +0000 +++ b/lisp/ChangeLog Sun Feb 15 03:26:17 2009 +0000 @@ -6,6 +6,8 @@ (rmail-output-as-babyl, rmail-output-to-babyl-buffer): Remove unnecessary use of with-no-warnings. (rmail-output-as-mbox, rmail-output-as-seen): Doc fix. + (rmail-output-as-mbox): Start search from point-min. If constructing a + "From " line, prefer the date header over the current time. 2009-02-15 Richard M Stallman <rms@gnu.org>
--- a/lisp/mail/rmailout.el Sun Feb 15 02:52:14 2009 +0000 +++ b/lisp/mail/rmailout.el Sun Feb 15 03:26:17 2009 +0000 @@ -307,45 +307,37 @@ If FILE-NAME is visited, output into its buffer instead. AS-SEEN is non-nil if we are copying the message \"as seen\"." (let ((case-fold-search t) - mail-from mime-version content-type) - + from date) + (goto-char (point-min)) ;; Preserve the Mail-From and MIME-Version fields ;; even if they have been pruned. (search-forward "\n\n" nil 'move) (narrow-to-region (point-min) (point)) - (rmail-delete-unwanted-fields (if rmail-enable-mime "Mail-From" "Mail-From\\|MIME-Version\\|Content-type")) - + ;; Generate a From line from other header fields if necessary. + ;; FIXME this duplicates code from unrmail.el. + (goto-char (point-min)) + (unless (looking-at "From ") + (setq from (or (mail-fetch-field "from") + (mail-fetch-field "really-from") + (mail-fetch-field "sender") + "unknown") + date (mail-fetch-field "date") + date (or (and date + (ignore-errors + (current-time-string (date-to-time date)))) + (current-time-string))) + (insert "From " (mail-strip-quoted-names from) " " date "\n")) (widen) - ;; Make sure message ends with blank line. (goto-char (point-max)) (unless (bolp) (insert "\n")) (unless (looking-back "\n\n") (insert "\n")) - - ;; Generate a From line from other header fields - ;; if necessary. (goto-char (point-min)) - (unless (looking-at "From ") - (insert "From " - (mail-strip-quoted-names - (save-excursion - (save-restriction - (goto-char (point-min)) - (narrow-to-region - (point) - (or (search-forward "\n\n" nil) - (point-max))) - (or (mail-fetch-field "from") - (mail-fetch-field "really-from") - (mail-fetch-field "sender") - "unknown")))) - " " (current-time-string) "\n")) - (let ((buf (find-buffer-visiting file-name)) (tembuf (current-buffer))) (if (null buf)