X-Git-Url: https://git.cworth.org/git?a=blobdiff_plain;f=emacs%2Fnotmuch-query.el;h=d1daffce4eaa3562999c5c345637151ec3eaf822;hb=HEAD;hp=26f954474227f15052692ff6ba46479baf4350b7;hpb=4ddb5ab4dd42208ba24989f188bdd06ab7865b5e;p=obsolete%2Fnotmuch-old diff --git a/emacs/notmuch-query.el b/emacs/notmuch-query.el index 26f95447..d1daffce 100644 --- a/emacs/notmuch-query.el +++ b/emacs/notmuch-query.el @@ -20,24 +20,19 @@ ;; Authors: David Bremner (require 'notmuch-lib) -(require 'json) -(defun notmuch-query-get-threads (search-terms &rest options) +(defun notmuch-query-get-threads (search-terms) "Return a list of threads of messages matching SEARCH-TERMS. A thread is a forest or list of trees. A tree is a two element list where the first element is a message, and the second element is a possibly empty forest of replies. " - (let ((args (append '("show" "--format=json") search-terms)) - (json-object-type 'plist) - (json-array-type 'list) - (json-false 'nil)) - (with-temp-buffer - (progn - (apply 'call-process (append (list notmuch-command nil t nil) args)) - (goto-char (point-min)) - (json-read))))) + (let ((args '("show" "--format=sexp" "--format-version=1"))) + (if notmuch-show-process-crypto + (setq args (append args '("--decrypt")))) + (setq args (append args search-terms)) + (apply #'notmuch-call-notmuch-sexp args))) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; Mapping functions across collections of messages.