# HG changeset patch # User Richard M. Stallman # Date 793584607 0 # Node ID 52e860d105377f0241b13fbc07084142ea4da5ab # Parent 48bfa8e29f36d0678f7f33023ade99bde7a08a9d (rmail-retry-failure): Support a new style of failure msg. diff -r 48bfa8e29f36 -r 52e860d10537 lisp/mail/rmail.el --- a/lisp/mail/rmail.el Thu Feb 23 18:45:30 1995 +0000 +++ b/lisp/mail/rmail.el Fri Feb 24 00:10:07 1995 +0000 @@ -2242,6 +2242,7 @@ (defvar mail-unsent-separator (concat "^ *---+ +Unsent message follows +---+ *$\\|" "^ *---+ +Returned message +---+ *$\\|" + "^Start of returned message$\\|" "^ *---+ +Original message +---+ *$\\|" "^ *--+ +begin message +--+ *$\\|" "^ *---+ +Original message follows +---+ *$\\|" @@ -2281,6 +2282,23 @@ (error "Cannot find end of header in failed message"))) (or (re-search-forward mail-unsent-separator nil t) (error "Cannot parse this as a failure message")) + (skip-chars-forward "\n") + ;; Support a style of failure message in which the original + ;; message is indented, and included within lines saying + ;; `Start of returned message' and `End of returned message'. + (if (looking-at " *Received:") + (let (column) + (skip-chars-forward " ") + (setq column (current-column)) + (let ((old-buffer (current-buffer))) + (set-buffer (get-buffer-create " rmail retry temp")) + (insert-buffer old-buffer) + (goto-char (point-max)) + (if (re-search-backward "^End of returned message$") + (delete-region (point) (point-max))) + (indent-rigidly (point-min) (point-max) (- column)) + (goto-char (point-min)) + (re-search-forward mail-unsent-separator nil t)))) (save-restriction (let ((old-end (point-max))) ;; One message contained a few random lines before the old