Mercurial > emacs
changeset 48957:d8dfc5e743b6
(unforward-rmail-message): Do not assume that
the forwarded message's Date: header comes after From:. Use a
Forwarded-from: rather than a Forwarded-by: header. Add a
Forwarded-date: header.
author | Francesco Potortì <pot@gnu.org> |
---|---|
date | Mon, 23 Dec 2002 22:51:38 +0000 |
parents | 53b3b6d148a3 |
children | 6b4f6412de76 |
files | lisp/mail/undigest.el |
diffstat | 1 files changed, 11 insertions(+), 3 deletions(-) [+] |
line wrap: on
line diff
--- a/lisp/mail/undigest.el Mon Dec 23 22:51:11 2002 +0000 +++ b/lisp/mail/undigest.el Mon Dec 23 22:51:38 2002 +0000 @@ -228,7 +228,8 @@ (rmail-msgend rmail-current-message)) (goto-char (point-min)) (let ((buffer-read-only nil) - (who-forwarded-it (mail-fetch-field "From")) + (forwarded-from (mail-fetch-field "From")) + (forwarded-date (mail-fetch-field "Date")) beg end prefix forward-msg n) (cond ((re-search-forward "^----.*\\([Ff]orwarded\\|[Oo]riginal\\).*[Mm]essage" nil t) @@ -239,12 +240,18 @@ (setq forward-msg (replace-regexp-in-string "^- -" "-" (buffer-substring beg end)))) - ((and (re-search-forward "^\\(> ?\\)From: .*\n" nil t) + ((and (re-search-forward "^\\(> ?\\)[a-zA-Z-]+: .*\n" nil t) (setq beg (match-beginning 0)) (setq prefix (match-string 1)) + (goto-char beg) (looking-at (concat "\\(" prefix ".+\n\\)*" prefix "Date: .+\n" "\\(" prefix ".+\n\\)*" + "\\(> ?\\)?\n" prefix)) + (goto-char beg) + (looking-at (concat "\\(" prefix ".+\n\\)*" + prefix "From: .+\n" + "\\(" prefix ".+\n\\)*" "\\(> ?\\)?\n" prefix))) (re-search-forward "^[^>\n]" nil 'move) (backward-char) @@ -262,7 +269,8 @@ (narrow-to-region (point) (point)) (insert rmail-mail-separator) (narrow-to-region (point) (point)) - (insert "Forwarded-by: " who-forwarded-it "\n") + (insert "Forwarded-from: " forwarded-from "\n") + (insert "Forwarded-date: " forwarded-date "\n") (insert forward-msg) (save-restriction (goto-char (point-min))