diff options
author | Carl Worth <cworth@cworth.org> | 2010-04-26 22:37:11 -0700 |
---|---|---|
committer | Carl Worth <cworth@cworth.org> | 2010-04-26 22:37:11 -0700 |
commit | f1f7e71e0347672e0658362c513e49c05b0f4161 (patch) | |
tree | 7915b7d4905d6e25c88d5eccf3c5497242951002 /emacs | |
parent | 4727eacb36245ccd2eabe22bfa408a099b574255 (diff) |
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.
Diffstat (limited to 'emacs')
-rw-r--r-- | emacs/notmuch-hello.el | 15 | ||||
-rw-r--r-- | emacs/notmuch-lib.el | 18 | ||||
-rw-r--r-- | emacs/notmuch.el | 2 |
3 files changed, 22 insertions, 13 deletions
diff --git a/emacs/notmuch-hello.el b/emacs/notmuch-hello.el index e3132a90..bbeb5de0 100644 --- a/emacs/notmuch-hello.el +++ b/emacs/notmuch-hello.el @@ -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 - (if (not notmuch-saved-searches) - (setq notmuch-saved-searches notmuch-folders)) - - ;; And set a default if neither has been set by the user + ; 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 '(("inbox" . "tag:inbox") - ("unread" . "tag:unread")))) + (setq notmuch-saved-searches (notmuch-saved-searches))) (if no-display (set-buffer "*notmuch-hello*") diff --git a/emacs/notmuch-lib.el b/emacs/notmuch-lib.el index b64aeab9..39eaf79b 100644 --- a/emacs/notmuch-lib.el +++ b/emacs/notmuch-lib.el @@ -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 diff --git a/emacs/notmuch.el b/emacs/notmuch.el index 4894012a..469d5fbd 100644 --- a/emacs/notmuch.el +++ b/emacs/notmuch.el @@ -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)) |