]> git.notmuchmail.org Git - notmuch/blobdiff - emacs/notmuch-show.el
emacs: `with-current-notmuch-show-message' should not leak `coding-system-for-read'
[notmuch] / emacs / notmuch-show.el
index a9974826e824133e1d905986d7d4343ad9e1aacc..b8cfbb8a3286540d7bb57caf8cf62a88f7032bd8 100644 (file)
@@ -224,7 +224,13 @@ For example, if you wanted to remove an \"unread\" tag and add a
   :group 'notmuch-show)
 
 (defcustom notmuch-show-mark-read-function #'notmuch-show-seen-current-message
-  "Function to control which messages are marked read."
+  "Function to control which messages are marked read.
+
+The function should take two arguments START and END which will
+be the start and end of the visible portion of the buffer and
+should mark the appropriate messages read by applying
+`notmuch-show-mark-read'. This function will be called after
+every user interaction with notmuch."
   :type 'function
   :group 'notmuch-show)
 
@@ -235,9 +241,9 @@ For example, if you wanted to remove an \"unread\" tag and add a
        (let ((buf (generate-new-buffer (concat "*notmuch-msg-" id "*"))))
          (with-current-buffer buf
           (let ((coding-system-for-read 'no-conversion))
-            (call-process notmuch-command nil t nil "show" "--format=raw" id)
-            ,@body)
-          (kill-buffer buf))))))
+            (call-process notmuch-command nil t nil "show" "--format=raw" id))
+          ,@body)
+        (kill-buffer buf)))))
 
 (defun notmuch-show-turn-on-visual-line-mode ()
   "Enable Visual Line mode."
@@ -1956,7 +1962,7 @@ buffer. If PREVIOUS is non-nil, move to the previous item in the
 search results instead."
   (interactive "P")
   (let ((parent-buffer notmuch-show-parent-buffer))
-    (notmuch-kill-this-buffer)
+    (notmuch-bury-or-kill-this-buffer)
     (when (buffer-live-p parent-buffer)
       (switch-to-buffer parent-buffer)
       (and (if previous