summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCarl Worth <cworth@cworth.org>2010-04-26 22:37:11 -0700
committerCarl Worth <cworth@cworth.org>2010-04-26 22:37:11 -0700
commitf1f7e71e0347672e0658362c513e49c05b0f4161 (patch)
tree7915b7d4905d6e25c88d5eccf3c5497242951002
parent4727eacb36245ccd2eabe22bfa408a099b574255 (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.
-rw-r--r--emacs/notmuch-hello.el15
-rw-r--r--emacs/notmuch-lib.el18
-rw-r--r--emacs/notmuch.el2
3 files changed, 22 insertions, 13 deletions
diff --git a/emacs/notmuch-hello.el b/emacs/notmuch-hello.el
index e3132a9..bbeb5de 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 b64aeab..39eaf79 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 4894012..469d5fb 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))