Mercurial > emacs
changeset 101644:13e00d6e6541
(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.
author | Chong Yidong <cyd@stupidchicken.com> |
---|---|
date | Thu, 29 Jan 2009 14:09:36 +0000 |
parents | f462bd5b1637 |
children | 6cb2fc1f4cbe |
files | lisp/mail/rmail.el |
diffstat | 1 files changed, 14 insertions(+), 5 deletions(-) [+] |
line wrap: on
line diff
--- a/lisp/mail/rmail.el Thu Jan 29 14:09:23 2009 +0000 +++ b/lisp/mail/rmail.el Thu Jan 29 14:09:36 2009 +0000 @@ -2358,10 +2358,12 @@ 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 @@ 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 @@ 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 @@ ;; 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.