emacs: Reverse the meaning of notmuch-show-refresh-view's argument
authorAustin Clements <amdragon@MIT.EDU>
Tue, 21 Feb 2012 15:42:32 +0000 (10:42 -0500)
committerDavid Bremner <bremner@debian.org>
Sat, 25 Feb 2012 14:35:22 +0000 (10:35 -0400)
Consensus seems to be that people prefer that refreshing show buffers
retains state by default, rather than resetting it by default.  This
turns out to be the case in the code, as well.  In fact, there's even
a test for this that's been marked broken for several months, which
this patch finally gets to mark as fixed.

emacs/notmuch-crypto.el
emacs/notmuch-show.el
test/emacs

index 972f26e1530f4b7665e673a400e33d133607d3cf..94da325d8a72177735d399ce8db4a4aef2348484 100644 (file)
@@ -120,7 +120,7 @@ mode."
      :notmuch-from from)
     (insert "\n")))
 
      :notmuch-from from)
     (insert "\n")))
 
-(declare-function notmuch-show-refresh-view "notmuch-show" (&optional retain-state))
+(declare-function notmuch-show-refresh-view "notmuch-show" (&optional reset-state))
 
 (defun notmuch-crypto-sigstatus-good-callback (button)
   (let* ((sigstatus (button-get button :notmuch-sigstatus))
 
 (defun notmuch-crypto-sigstatus-good-callback (button)
   (let* ((sigstatus (button-get button :notmuch-sigstatus))
@@ -145,7 +145,7 @@ mode."
        (insert "\n")
        (call-process "gpg" nil t t "--list-keys" keyid))
       (recenter -1))
        (insert "\n")
        (call-process "gpg" nil t t "--list-keys" keyid))
       (recenter -1))
-    (notmuch-show-refresh-view)))
+    (notmuch-show-refresh-view t)))
 
 (defun notmuch-crypto-insert-encstatus-button (encstatus)
   (let* ((status (plist-get encstatus :status))
 
 (defun notmuch-crypto-insert-encstatus-button (encstatus)
   (let* ((status (plist-get encstatus :status))
index 6d24ed022eb5ebe204d74e23c5aa10d51906f53a..dd1fb8313604c8720e8d48ca610893e2dc420d74 100644 (file)
@@ -990,7 +990,7 @@ current buffer, if possible."
   (message (if notmuch-show-process-crypto
               "Processing cryptographic MIME parts."
             "Not processing cryptographic MIME parts."))
   (message (if notmuch-show-process-crypto
               "Processing cryptographic MIME parts."
             "Not processing cryptographic MIME parts."))
-  (notmuch-show-refresh-view t))
+  (notmuch-show-refresh-view))
 
 (defun notmuch-show-toggle-elide-non-matching ()
   "Toggle the display of non-matching messages."
 
 (defun notmuch-show-toggle-elide-non-matching ()
   "Toggle the display of non-matching messages."
@@ -999,7 +999,7 @@ current buffer, if possible."
   (message (if notmuch-show-elide-non-matching-messages
               "Showing matching messages only."
             "Showing all messages."))
   (message (if notmuch-show-elide-non-matching-messages
               "Showing matching messages only."
             "Showing all messages."))
-  (notmuch-show-refresh-view t))
+  (notmuch-show-refresh-view))
 
 (defun notmuch-show-toggle-thread-indentation ()
   "Toggle the indentation of threads."
 
 (defun notmuch-show-toggle-thread-indentation ()
   "Toggle the indentation of threads."
@@ -1008,7 +1008,7 @@ current buffer, if possible."
   (message (if notmuch-show-indent-content
               "Content is indented."
             "Content is not indented."))
   (message (if notmuch-show-indent-content
               "Content is indented."
             "Content is not indented."))
-  (notmuch-show-refresh-view t))
+  (notmuch-show-refresh-view))
 
 (defun notmuch-show-insert-tree (tree depth)
   "Insert the message tree TREE at depth DEPTH in the current thread."
 
 (defun notmuch-show-insert-tree (tree depth)
   "Insert the message tree TREE at depth DEPTH in the current thread."
@@ -1150,17 +1150,17 @@ This includes:
       (message "Previously current message not found."))
     (notmuch-show-message-adjust)))
 
       (message "Previously current message not found."))
     (notmuch-show-message-adjust)))
 
-(defun notmuch-show-refresh-view (&optional retain-state)
+(defun notmuch-show-refresh-view (&optional reset-state)
   "Refresh the current view.
 
 Refreshes the current view, observing changes in display
   "Refresh the current view.
 
 Refreshes the current view, observing changes in display
-preferences. If RETAIN-STATE is non-nil then the state of the
-buffer is stored and re-applied after the refresh."
+preferences. If invoked with a prefix argument (or RESET-STATE is
+non-nil) then the state of the buffer (open/closed messages) is
+reset based on the original query."
   (interactive "P")
   (let ((inhibit-read-only t)
   (interactive "P")
   (let ((inhibit-read-only t)
-       state)
-    (if retain-state
-       (setq state (notmuch-show-capture-state)))
+       (state (unless reset-state
+                (notmuch-show-capture-state))))
     (erase-buffer)
     (notmuch-show-build-buffer)
     (if state
     (erase-buffer)
     (notmuch-show-build-buffer)
     (if state
index dcfc6758e9cd6f22d1b318d3561edf7e2c2b87c3..7549892805510210689a18744ea7d7f9bad2a7b2 100755 (executable)
@@ -462,7 +462,6 @@ test_emacs '(notmuch-show "id:f35dbb950911171438k5df6eb56k77b6c0944e2e79ae@mail.
 test_expect_equal_file OUTPUT EXPECTED
 
 test_begin_subtest "Refresh modified show buffer"
 test_expect_equal_file OUTPUT EXPECTED
 
 test_begin_subtest "Refresh modified show buffer"
-test_subtest_known_broken
 test_emacs '(notmuch-show "id:f35dbb950911171438k5df6eb56k77b6c0944e2e79ae@mail.gmail.com")
            (notmuch-show-toggle-message)
            (notmuch-show-next-message)
 test_emacs '(notmuch-show "id:f35dbb950911171438k5df6eb56k77b6c0944e2e79ae@mail.gmail.com")
            (notmuch-show-toggle-message)
            (notmuch-show-next-message)