From 00c6f62e662b5f292d94e3ae4363dfd1c3943219 Mon Sep 17 00:00:00 2001 From: Chong Yidong Date: Thu, 29 Jan 2009 14:09:36 +0000 Subject: [PATCH] (rmail-toggle-header): Determine current header style using the buffer-local value of rmail-header-style in the view buffer. (rmail-show-message): Set a buffer-local value of rmail-header-style in the view buffer. --- lisp/mail/rmail.el | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) diff --git a/lisp/mail/rmail.el b/lisp/mail/rmail.el index 6a514d91af1..2b860df5e69 100644 --- a/lisp/mail/rmail.el +++ b/lisp/mail/rmail.el @@ -2358,10 +2358,12 @@ With argument ARG, show the message header pruned if ARG is greater than zero; otherwise, show it in full." (interactive "P") (let ((rmail-header-style - (cond - ((and (numberp arg) (> arg 0)) 'normal) - ((eq rmail-header-style 'full) 'normal) - (t 'full)))) + (if (numberp arg) + (if (> arg 0) 'normal 'full) + (with-current-buffer (if (rmail-buffers-swapped-p) + rmail-view-buffer + rmail-buffer) + (if (eq rmail-header-style 'full) 'normal 'full))))) (rmail-show-message-maybe))) (defun rmail-beginning-of-message () @@ -2475,7 +2477,8 @@ range (displaying a reasonable choice as well), nil otherwise. The current mail message becomes the message displayed." (let ((mbox-buf rmail-buffer) (view-buf rmail-view-buffer) - blurb beg end body-start coding-system character-coding is-text-message) + blurb beg end body-start coding-system character-coding + is-text-message header-style) (if (not msg) (setq msg rmail-current-message)) (unless (setq blurb (rmail-no-mail-p)) @@ -2489,6 +2492,7 @@ The current mail message becomes the message displayed." blurb "No following message")) (t (setq rmail-current-message msg))) (with-current-buffer rmail-buffer + (setq header-style rmail-header-style) ;; Mark the message as seen, bracket the message in the mail ;; buffer and determine the coding system the transfer encoding. (rmail-set-attribute rmail-unseen-attr-index nil) @@ -2510,6 +2514,11 @@ The current mail message becomes the message displayed." ;; unibyte temporary buffer where the character decoding takes ;; place. (with-current-buffer rmail-view-buffer + ;; We give the view buffer a buffer-local value of + ;; rmail-header-style based on the binding in effect when + ;; this function is called; `rmail-toggle-headers' can + ;; inspect this value to determine how to toggle. + (set (make-local-variable 'rmail-header-style) header-style) (erase-buffer)) (if (null character-coding) ;; Do it directly since that is fast. -- 2.39.2