]> git.eshelyaron.com Git - emacs.git/commitdiff
(unforward-rmail-message): Do not assume that
authorFrancesco Potortì <pot@gnu.org>
Mon, 23 Dec 2002 22:51:38 +0000 (22:51 +0000)
committerFrancesco Potortì <pot@gnu.org>
Mon, 23 Dec 2002 22:51:38 +0000 (22:51 +0000)
the forwarded message's Date: header comes after From:.  Use a
Forwarded-from: rather than a Forwarded-by: header.  Add a
Forwarded-date: header.

lisp/mail/undigest.el

index 839d796cf25bf47f860d94fd3110dbe0d68fc498..ff4673901b231a8290e54ccd169d2861c38360d4 100644 (file)
@@ -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))