]> git.eshelyaron.com Git - emacs.git/commitdiff
New Rmail option 'rmail-show-message-set-modified'
authorEli Zaretskii <eliz@gnu.org>
Sat, 30 Jan 2021 09:26:07 +0000 (11:26 +0200)
committerEli Zaretskii <eliz@gnu.org>
Sat, 30 Jan 2021 09:26:07 +0000 (11:26 +0200)
* lisp/mail/rmail.el (rmail-show-message-set-modified): New
option.
(rmail-show-message-1): If 'rmail-show-message-set-modified' is
non-nil, don't reset the buffer's modified state.  (Bug#45941)

* etc/NEWS: Announce the new option.

etc/NEWS
lisp/mail/rmail.el

index a6fd51b8a2aefd0d431ad580c74a3770e6328a6d..11fca4fecb669409f4dbe2bf26a360eab4b87bf4 100644 (file)
--- a/etc/NEWS
+++ b/etc/NEWS
@@ -1138,6 +1138,11 @@ bindings, will be aborted, and Emacs will not ask you whether to
 enlarge 'max-specpdl-size' to complete the rendering.  The default is
 t, which preserves the original behavior.
 
+---
+*** New user option 'rmail-show-message-set-modified'.
+If set non-nil, showing an unseen message will set the Rmail buffer's
+modified flag.
+
 ** Apropos
 
 *** New commands 'apropos-next-symbol' and 'apropos-previous-symbol'.
index 29460cc20f5d2061c4d5d98f8a57e5c0d9b2ec8c..9f95b62d8707e5cc30e028cf80b6f494b304104b 100644 (file)
@@ -2723,6 +2723,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 +2756,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