X-Git-Url: https://git.notmuchmail.org/git?p=notmuch;a=blobdiff_plain;f=emacs%2Fnotmuch-query.el;h=d1daffce4eaa3562999c5c345637151ec3eaf822;hp=0d6e7759a6b57593597dbcdb70afe5128ee1b3bf;hb=71fb37d48236e49b64e300c3764c0e17e02c8f9e;hpb=8cbb5114a20c1217f23977fd5edca99a0b7a2955 diff --git a/emacs/notmuch-query.el b/emacs/notmuch-query.el index 0d6e7759..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. @@ -47,7 +42,7 @@ is a possibly empty forest of replies. (apply 'append (mapcar (lambda (tree) - (funcall mapper fn tree)) + (funcall mapper function tree)) seq))) (defun notmuch-query-map-threads (fn threads)