[PATCH 3/4] emacs: tree: add sort argument to notmuch-tree

Subject: [PATCH 3/4] emacs: tree: add sort argument to notmuch-tree

Date: Fri, 26 Jun 2015 23:50:34 +0100

To: notmuch@notmuchmail.org

Cc:

From: Mark Walters


This is used by the the notmuch-search command
notmuch-tree-from-search-current-query which now keeps the sort order
the same when calling tree mode with the current search query.

It also uses the customize variable notmuch-search-oldest-first as the
default for sort order of a tree search (only relevant for interactive
use).
---
 emacs/notmuch-tree.el | 21 +++++++++++++++------
 emacs/notmuch.el      |  2 +-
 2 files changed, 16 insertions(+), 7 deletions(-)

diff --git a/emacs/notmuch-tree.el b/emacs/notmuch-tree.el
index 6afed76..b9d9b91 100644
--- a/emacs/notmuch-tree.el
+++ b/emacs/notmuch-tree.el
@@ -565,7 +565,9 @@ (defun notmuch-tree-refresh-view ()
     (erase-buffer)
     (notmuch-tree-worker basic-query
 			 query-context
-			 target)))
+			 target
+			 nil
+			 notmuch-tree-oldest-first)))
 
 (defun notmuch-tree-toggle-order ()
   "Toggle the current search order.
@@ -865,7 +867,7 @@ (defun notmuch-tree-process-filter (proc string)
 	(notmuch-sexp-parse-partial-list 'notmuch-tree-insert-forest-thread
 					 results-buf)))))
 
-(defun notmuch-tree-worker (basic-query &optional query-context target open-target)
+(defun notmuch-tree-worker (basic-query &optional query-context target open-target oldest-first)
   "Insert the tree view of the search in the current buffer.
 
 This is is a helper function for notmuch-tree. The arguments are
@@ -876,6 +878,7 @@ (defun notmuch-tree-worker (basic-query &optional query-context target open-targ
   (setq notmuch-tree-query-context query-context)
   (setq notmuch-tree-target-msg target)
   (setq notmuch-tree-open-target open-target)
+  (setq notmuch-tree-oldest-first oldest-first)
 
   (erase-buffer)
   (goto-char (point-min))
@@ -911,7 +914,7 @@ (defun notmuch-tree-get-query ()
 	      ")")
     notmuch-tree-basic-query))
 
-(defun notmuch-tree (&optional query query-context target buffer-name open-target)
+(defun notmuch-tree (&optional query query-context target buffer-name open-target oldest-first)
   "Display threads matching QUERY in Tree View.
 
 The arguments are:
@@ -924,8 +927,14 @@ (defun notmuch-tree (&optional query query-context target buffer-name open-targe
       current if it appears in the tree view results.
   BUFFER-NAME: the name of the buffer to display the tree view. If
       it is nil \"*notmuch-tree\" followed by QUERY is used.
-  OPEN-TARGET: If TRUE open the target message in the message pane."
-  (interactive)
+  OPEN-TARGET: If TRUE open the target message in the message pane.
+  OLDEST-FIRST: If TRUE display threads sorted oldest first"
+  (interactive
+   (list
+    ;; Prompt for a query
+    nil
+    ;; use default search order
+    nil nil nil nil (default-value 'notmuch-search-oldest-first)))
   (if (null query)
       (setq query (notmuch-read-query "Notmuch tree view search: ")))
   (let ((buffer (get-buffer-create (generate-new-buffer-name
@@ -937,7 +946,7 @@ (defun notmuch-tree (&optional query query-context target buffer-name open-targe
   ;; Don't track undo information for this buffer
   (set 'buffer-undo-list t)
 
-  (notmuch-tree-worker query query-context target open-target)
+  (notmuch-tree-worker query query-context target open-target oldest-first)
 
   (setq truncate-lines t))
 
diff --git a/emacs/notmuch.el b/emacs/notmuch.el
index 6564816..f1035dc 100644
--- a/emacs/notmuch.el
+++ b/emacs/notmuch.el
@@ -478,7 +478,7 @@ (defun notmuch-search-show-thread (&optional elide-toggle)
 (defun notmuch-tree-from-search-current-query ()
   "Call notmuch tree with the current query"
   (interactive)
-  (notmuch-tree notmuch-search-query-string))
+  (notmuch-tree notmuch-search-query-string nil nil nil nil notmuch-search-oldest-first))
 
 (defun notmuch-tree-from-search-thread ()
   "Show the selected thread with notmuch-tree"
-- 
2.1.4


Thread: