aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGlenn Morris <[email protected]>2009-03-02 08:03:41 +0000
committerGlenn Morris <[email protected]>2009-03-02 08:03:41 +0000
commit37aca7a833cbca7a73d90e45701832fb58511eff (patch)
tree7f50308dec10aca7bd4731ed9e9cd0019efcedeb
parent925d6582779478f2dc56406d050dccdc09fa89dd (diff)
(rmail-delete-headers): New function.
(rmail-retry-failure): Restore yet another feature mbox Rmail removed without telling anyone, namely rmail-retry-ignored-headers.
-rw-r--r--lisp/ChangeLog3
-rw-r--r--lisp/mail/rmail.el25
2 files changed, 25 insertions, 3 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index 18526ec650..1dda3a53f4 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -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 <[email protected]>
diff --git a/lisp/mail/rmail.el b/lisp/mail/rmail.el
index 30cd9c092f..dbd4fcf75a 100644
--- a/lisp/mail/rmail.el
+++ b/lisp/mail/rmail.el
@@ -3625,6 +3625,25 @@ typically for purposes of moderating a list."
(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 @@ specifying headers which should not be copied into the new message."
;; 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 @@ specifying headers which should not be copied into the new message."
(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