# HG changeset patch # User Glenn Morris # Date 1235981021 0 # Node ID 965102fa40eaa8fa8b0b2ec32e111491eeb6af9d # Parent fd6b5c8dd39b8b2c48df678907850e3a8fc9a969 (rmail-delete-headers): New function. (rmail-retry-failure): Restore yet another feature mbox Rmail removed without telling anyone, namely rmail-retry-ignored-headers. diff -r fd6b5c8dd39b -r 965102fa40ea lisp/ChangeLog --- a/lisp/ChangeLog Mon Mar 02 07:36:03 2009 +0000 +++ b/lisp/ChangeLog Mon Mar 02 08:03:41 2009 +0000 @@ -10,6 +10,9 @@ Doc fixes. (rmail-retry-failure): Use rmail-get-header rather than a magical save-excursion/restriction combination that does nothing. + (rmail-delete-headers): New function. + (rmail-retry-failure): Restore yet another feature mbox Rmail removed + without telling anyone, namely rmail-retry-ignored-headers. 2009-03-01 Chong Yidong diff -r fd6b5c8dd39b -r 965102fa40ea lisp/mail/rmail.el --- a/lisp/mail/rmail.el Mon Mar 02 07:36:03 2009 +0000 +++ b/lisp/mail/rmail.el Mon Mar 02 08:03:41 2009 +0000 @@ -3625,6 +3625,25 @@ (defvar mail-mime-unsent-header "^Content-Type: message/rfc822 *$" "A regexp that matches the header of a MIME body part with a failed message.") +;; This is a cut-down version of rmail-clear-headers from Emacs 22. +;; It doesn't have the same functionality, hence the name change. +(defun rmail-delete-headers (regexp) + "Delete any mail headers matching REGEXP. +The message should be narrowed to just the headers." + (when regexp + (goto-char (point-min)) + (while (re-search-forward regexp nil t) + (beginning-of-line) + ;; This code from Emacs 22 doesn't seem right, since r-n-h is + ;; just for display. +;;; (if (looking-at rmail-nonignored-headers) +;;; (forward-line 1) + (delete-region (point) + (save-excursion + (if (re-search-forward "\n[^ \t]" nil t) + (1- (point)) + (point-max))))))) + (defun rmail-retry-failure () "Edit a mail message which is based on the contents of the current message. For a message rejected by the mail system, extract the interesting headers and @@ -3709,9 +3728,7 @@ ;; Insert original text as initial text of new draft message. ;; Bind inhibit-read-only since the header delimiter ;; of the previous message was probably read-only. - (let ((inhibit-read-only t) - rmail-displayed-headers - rmail-ignored-headers) + (let ((inhibit-read-only t)) (erase-buffer) (insert-buffer-substring rmail-this-buffer bounce-start bounce-end) @@ -3721,6 +3738,8 @@ (mail-sendmail-delimit-header) (save-restriction (narrow-to-region (point-min) (mail-header-end)) + (rmail-delete-headers rmail-retry-ignored-headers) + (rmail-delete-headers "^\\(sender\\|return-path\\|received\\):") (setq resending (mail-fetch-field "resent-to")) (if mail-self-blind (if resending