From 5500868bd96f9461a230d16839591cb7ebc035df Mon Sep 17 00:00:00 2001 From: David Bremner Date: Tue, 28 Jun 2022 08:50:55 -0300 Subject: [PATCH] emacs: mark notmuch-query.el as obsolete The only functionality actually used by notmuch is the base function notmuch-query-get-threads; the other functions in this file have nothing to do with that (single) use. Move that function into notmuch-lib.el and rename to reflect use. Deprecate the other functions in notmuch-query.el. --- emacs/notmuch-lib.el | 12 ++++++++++++ emacs/notmuch-query.el | 23 ++++++++++------------- emacs/notmuch-show.el | 3 +-- emacs/notmuch-tree.el | 1 - 4 files changed, 23 insertions(+), 16 deletions(-) diff --git a/emacs/notmuch-lib.el b/emacs/notmuch-lib.el index 1e631d0e..cc706924 100644 --- a/emacs/notmuch-lib.el +++ b/emacs/notmuch-lib.el @@ -1029,6 +1029,18 @@ status." (defvar-local notmuch-show-process-crypto nil) +(defun notmuch--run-show (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 '("show" "--format=sexp" "--format-version=5"))) + (when notmuch-show-process-crypto + (setq args (append args '("--decrypt=true")))) + (setq args (append args search-terms)) + (apply #'notmuch-call-notmuch-sexp args))) + ;;; Generic Utilities (defun notmuch-interactive-region () diff --git a/emacs/notmuch-query.el b/emacs/notmuch-query.el index 5c7f4f8d..2a46144c 100644 --- a/emacs/notmuch-query.el +++ b/emacs/notmuch-query.el @@ -25,17 +25,10 @@ ;;; Basic query function -(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 '("show" "--format=sexp" "--format-version=5"))) - (when notmuch-show-process-crypto - (setq args (append args '("--decrypt=true")))) - (setq args (append args search-terms)) - (apply #'notmuch-call-notmuch-sexp args))) +(define-obsolete-function-alias + 'notmuch-query-get-threads + #'notmuch--run-show + "notmuch 0.37") ;;; Mapping functions across collections of messages @@ -60,7 +53,7 @@ Flatten results to a list. See the function (defun notmuch-query-map-tree (fn tree) "Apply function FN to every message in TREE. Flatten results to a list. See the function -`notmuch-query-get-threads' for more information." +`notmuch--run-show' for more information." (cons (funcall fn (car tree)) (notmuch-query-map-forest fn (cadr tree)))) @@ -70,7 +63,11 @@ Flatten results to a list. See the function "Return a list of message-ids of messages that match SEARCH-TERMS." (notmuch-query-map-threads (lambda (msg) (plist-get msg :id)) - (notmuch-query-get-threads search-terms))) + (notmuch--run-show search-terms))) + +;;; Everything in this library is obsolete +(dolist (fun '(map-aux map-threads map-forest map-tree get-message-ids)) + (make-obsolete (intern (format "notmuch-query-%s" fun)) nil "notmuch 0.37")) (provide 'notmuch-query) diff --git a/emacs/notmuch-show.el b/emacs/notmuch-show.el index aded1ee7..0954d876 100644 --- a/emacs/notmuch-show.el +++ b/emacs/notmuch-show.el @@ -32,7 +32,6 @@ (require 'notmuch-lib) (require 'notmuch-tag) -(require 'notmuch-query) (require 'notmuch-wash) (require 'notmuch-mua) (require 'notmuch-crypto) @@ -1366,7 +1365,7 @@ If no messages match the query return NIL." (notmuch-show-previous-subject "")) ;; Use results from the first query that returns some. (while (and (not forest) queries) - (setq forest (notmuch-query-get-threads + (setq forest (notmuch--run-show (append cli-args (list "'") (car queries) (list "'")))) (when (and forest notmuch-show-single-message) (setq forest (list (list (list forest))))) diff --git a/emacs/notmuch-tree.el b/emacs/notmuch-tree.el index 303c6fad..8b246a2e 100644 --- a/emacs/notmuch-tree.el +++ b/emacs/notmuch-tree.el @@ -27,7 +27,6 @@ (require 'mail-parse) (require 'notmuch-lib) -(require 'notmuch-query) (require 'notmuch-show) (require 'notmuch-tag) (require 'notmuch-parser) -- 2.43.0