From: Francesco Potortì Date: Mon, 23 Dec 2002 22:51:38 +0000 (+0000) Subject: (unforward-rmail-message): Do not assume that X-Git-Tag: ttn-vms-21-2-B4~11913 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=85e949963db7f0c9eaf42cc0968257021afae94a;p=emacs.git (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. --- diff --git a/lisp/mail/undigest.el b/lisp/mail/undigest.el index 839d796cf25..ff4673901b2 100644 --- a/lisp/mail/undigest.el +++ b/lisp/mail/undigest.el @@ -228,7 +228,8 @@ following the containing message." (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 @@ following the containing message." (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 @@ following the containing message." (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))