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:
Carl Worth 2010-04-26 22:37:11 -07:00
parent 4727eacb36
commit f1f7e71e03
3 changed files with 22 additions and 13 deletions

View file

@ -45,11 +45,6 @@
(defvar notmuch-hello-indent 4
"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
"Should the notmuch logo be shown?"
:type 'boolean
@ -207,14 +202,10 @@ diagonal."
(defun notmuch-hello (&optional no-display)
(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)
(setq notmuch-saved-searches notmuch-folders))
;; 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"))))
(setq notmuch-saved-searches (notmuch-saved-searches)))
(if no-display
(set-buffer "*notmuch-hello*")

View file

@ -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 ()
"Return a string with the notmuch version number."
(let ((long-string

View file

@ -665,7 +665,7 @@ characters as well as `_.+-'.
(let* ((folder (rassoc-if (lambda (key)
(string-match (concat "^" (regexp-quote key))
query))
notmuch-folders))
(notmuch-saved-searches)))
(folder-name (car folder))
(folder-query (cdr folder)))
(cond ((and folder (equal folder-query query))