mirror of
https://git.notmuchmail.org/git/notmuch
synced 2024-11-22 10:58:10 +01:00
emacs: Add a notmuch-saved-searches function.
We use this function to abstract away the common 3-step process for looking for a value for the saved-searches variable: 1. Look at the notmuch-saved-searches variable itself 2. Look at the notmuch-folders vaiable 3. Use a default value We were already using this logic (open-coded) in notmuch-hello, but notmuch.el was accessing notmuch-folders directly for the clever name selection of search buffers.
This commit is contained in:
parent
4727eacb36
commit
f1f7e71e03
3 changed files with 22 additions and 13 deletions
|
@ -45,11 +45,6 @@
|
||||||
(defvar notmuch-hello-indent 4
|
(defvar notmuch-hello-indent 4
|
||||||
"How much to indent non-headers.")
|
"How much to indent non-headers.")
|
||||||
|
|
||||||
(defcustom notmuch-saved-searches nil
|
|
||||||
"A list of saved searches to display."
|
|
||||||
:type '(alist :key-type string :value-type string)
|
|
||||||
:group 'notmuch)
|
|
||||||
|
|
||||||
(defcustom notmuch-show-logo t
|
(defcustom notmuch-show-logo t
|
||||||
"Should the notmuch logo be shown?"
|
"Should the notmuch logo be shown?"
|
||||||
:type 'boolean
|
:type 'boolean
|
||||||
|
@ -207,14 +202,10 @@ diagonal."
|
||||||
(defun notmuch-hello (&optional no-display)
|
(defun notmuch-hello (&optional no-display)
|
||||||
(interactive)
|
(interactive)
|
||||||
|
|
||||||
;; Provide support for the deprecated name of this variable
|
; Jump through a hoop to get this value from the deprecated variable
|
||||||
|
; name (`notmuch-folders') or from the default value.
|
||||||
(if (not notmuch-saved-searches)
|
(if (not notmuch-saved-searches)
|
||||||
(setq notmuch-saved-searches notmuch-folders))
|
(setq notmuch-saved-searches (notmuch-saved-searches)))
|
||||||
|
|
||||||
;; And set a default if neither has been set by the user
|
|
||||||
(if (not notmuch-saved-searches)
|
|
||||||
(setq notmuch-saved-searches '(("inbox" . "tag:inbox")
|
|
||||||
("unread" . "tag:unread"))))
|
|
||||||
|
|
||||||
(if no-display
|
(if no-display
|
||||||
(set-buffer "*notmuch-hello*")
|
(set-buffer "*notmuch-hello*")
|
||||||
|
|
|
@ -40,6 +40,24 @@
|
||||||
|
|
||||||
;;
|
;;
|
||||||
|
|
||||||
|
(defcustom notmuch-saved-searches nil
|
||||||
|
"A list of saved searches to display."
|
||||||
|
:type '(alist :key-type string :value-type string)
|
||||||
|
:group 'notmuch)
|
||||||
|
|
||||||
|
(defun notmuch-saved-searches ()
|
||||||
|
"Common function for querying the notmuch-saved-searches variable.
|
||||||
|
|
||||||
|
We do this as a function to support the old name of the
|
||||||
|
variable (`notmuch-folders') as well as for the default value if
|
||||||
|
the user hasn't set this variable with the old or new value."
|
||||||
|
(if notmuch-saved-searches
|
||||||
|
notmuch-saved-searches
|
||||||
|
(if notmuch-folders
|
||||||
|
notmuch-folders
|
||||||
|
'(("inbox" . "tag:inbox")
|
||||||
|
("unread" . "tag:unread")))))
|
||||||
|
|
||||||
(defun notmuch-version ()
|
(defun notmuch-version ()
|
||||||
"Return a string with the notmuch version number."
|
"Return a string with the notmuch version number."
|
||||||
(let ((long-string
|
(let ((long-string
|
||||||
|
|
|
@ -665,7 +665,7 @@ characters as well as `_.+-'.
|
||||||
(let* ((folder (rassoc-if (lambda (key)
|
(let* ((folder (rassoc-if (lambda (key)
|
||||||
(string-match (concat "^" (regexp-quote key))
|
(string-match (concat "^" (regexp-quote key))
|
||||||
query))
|
query))
|
||||||
notmuch-folders))
|
(notmuch-saved-searches)))
|
||||||
(folder-name (car folder))
|
(folder-name (car folder))
|
||||||
(folder-query (cdr folder)))
|
(folder-query (cdr folder)))
|
||||||
(cond ((and folder (equal folder-query query))
|
(cond ((and folder (equal folder-query query))
|
||||||
|
|
Loading…
Reference in a new issue