emacs/tree: add notmuch-tree-matching-message
authorWilliam Casarin <jb55@jb55.com>
Sat, 4 Apr 2020 20:41:33 +0000 (13:41 -0700)
committerDavid Bremner <david@tethera.net>
Mon, 6 Apr 2020 10:15:07 +0000 (07:15 -0300)
This functions removes some duplicate logic between
notmuch-tree-{next,prev}-matching-message

We do this because we will be adding some additional logic similar to
the notmuch-show-next-open-message function, and it will help if this
logic is all in one place.

Signed-off-by: William Casarin <jb55@jb55.com>
emacs/notmuch-tree.el

index 7f68efbad14cac70b5a73ae25638233f6854c65a..e6a6e67fd8048aae34807c11bd7e4c8c5970d554 100644 (file)
@@ -643,21 +643,23 @@ nil otherwise."
       (forward-line dir))
     (not (funcall eobfn))))
 
+(defun notmuch-tree-matching-message (&optional prev)
+  "Move to the next or previous matching message"
+  (interactive "P")
+  (forward-line (if prev -1 nil))
+  (notmuch-tree-goto-matching-message prev)
+  (when (window-live-p notmuch-tree-message-window)
+    (notmuch-tree-show-message-in)))
+
 (defun notmuch-tree-prev-matching-message ()
   "Move to previous matching message."
   (interactive)
-  (forward-line -1)
-  (notmuch-tree-goto-matching-message t)
-  (when (window-live-p notmuch-tree-message-window)
-    (notmuch-tree-show-message-in)))
+  (notmuch-tree-matching-message t))
 
 (defun notmuch-tree-next-matching-message ()
   "Move to next matching message."
   (interactive)
-  (forward-line)
-  (notmuch-tree-goto-matching-message)
-  (when (window-live-p notmuch-tree-message-window)
-    (notmuch-tree-show-message-in)))
+  (notmuch-tree-matching-message))
 
 (defun notmuch-tree-refresh-view (&optional view)
   "Refresh view."