summaryrefslogtreecommitdiff
path: root/lisp/mail/rmail.el
diff options
context:
space:
mode:
Diffstat (limited to 'lisp/mail/rmail.el')
-rw-r--r--lisp/mail/rmail.el14
1 files changed, 10 insertions, 4 deletions
diff --git a/lisp/mail/rmail.el b/lisp/mail/rmail.el
index 29460cc20f5..8ccf1bffdd6 100644
--- a/lisp/mail/rmail.el
+++ b/lisp/mail/rmail.el
@@ -620,14 +620,12 @@ Element N specifies the summary line for message N+1.")
;; Rmail buffer swapping variables.
-(defvar rmail-buffer-swapped nil
+(defvar-local rmail-buffer-swapped nil
"If non-nil, `rmail-buffer' is swapped with `rmail-view-buffer'.")
-(make-variable-buffer-local 'rmail-buffer-swapped)
(put 'rmail-buffer-swapped 'permanent-local t)
-(defvar rmail-view-buffer nil
+(defvar-local rmail-view-buffer nil
"Buffer which holds RMAIL message for MIME displaying.")
-(make-variable-buffer-local 'rmail-view-buffer)
(put 'rmail-view-buffer 'permanent-local t)
;; `Sticky' default variables.
@@ -2723,6 +2721,12 @@ See also `unrmail-mbox-format'."
:version "24.4"
:group 'rmail-files)
+(defcustom rmail-show-message-set-modified nil
+ "If non-nil, displaying an unseen message marks the Rmail buffer as modified."
+ :type 'boolean
+ :group 'rmail
+ :version "28.1")
+
(defun rmail-show-message-1 (&optional msg)
"Show message MSG (default: current message) using `rmail-view-buffer'.
Return text to display in the minibuffer if MSG is out of
@@ -2750,6 +2754,8 @@ The current mail message becomes the message displayed."
;; Mark the message as seen, but preserve buffer modified flag.
(let ((modiff (buffer-modified-p)))
(rmail-set-attribute rmail-unseen-attr-index nil)
+ (and rmail-show-message-set-modified
+ (setq modiff t))
(unless modiff
(restore-buffer-modified-p modiff)))
;; bracket the message in the mail