* [PATCH 0/1] emacs: hello: bugfix for saved searches defcustom
@ 2014-04-16 21:21 Mark Walters
2014-04-16 21:21 ` [PATCH 1/1] " Mark Walters
2014-04-18 0:33 ` [PATCH 0/1] " David Bremner
0 siblings, 2 replies; 4+ messages in thread
From: Mark Walters @ 2014-04-16 21:21 UTC (permalink / raw)
To: notmuch
This is almost the same as id:1397627927-9692-1-git-send-email-markwalters1009@gmail.com but with a commit message a couple of function renames and a couple of spelling/typo mistakes fixed (pointed out by Tomi)
The diff from the WIP version is:
diff --git a/emacs/notmuch-hello.el b/emacs/notmuch-hello.el
index 27eac72..a7a8e20 100644
--- a/emacs/notmuch-hello.el
+++ b/emacs/notmuch-hello.el
@@ -56,7 +56,7 @@ lists (NAME QUERY COUNT-QUERY)."
"Return a copy of SAVED-SEARCH in plist form.
If saved search is a plist then just return a copy. In other
-cases, for backwards compatability, convert to plist form and
+cases, for backwards compatibility, convert to plist form and
return that."
(if (keywordp (car saved-search))
(copy-seq saved-search)
@@ -67,11 +67,11 @@ return that."
(when string
(setq plist-search (append plist-search (list field string)))))))))
-(defun notmuch--saved-searches-to-plist (symbol)
+(defun notmuch-hello--saved-searches-to-plist (symbol)
"Extract a saved-search variable into plist form.
The new style saved search is just a plist, but for backwards
-compatatibility we use this function to extract old style saved
+compatibility we use this function to extract old style saved
searches so they still work in customize."
(let ((saved-searches (default-value symbol)))
(mapcar #'notmuch-hello-saved-search-to-plist saved-searches)))
@@ -114,7 +114,7 @@ or a list of the form (NAME QUERY COUNT-QUERY)."
;; section. This section generates its own saved-search list in one of
;; the latter two forms.
- :get 'notmuch--saved-searches-to-plist
+ :get 'notmuch-hello--saved-searches-to-plist
:type '(repeat notmuch-saved-search-plist)
:tag "List of Saved Searches"
:group 'notmuch-hello)
Mark Walters (1):
emacs: hello: bugfix for saved searches defcustom
emacs/notmuch-hello.el | 128 ++++++++++++++++++++++++++++++++++--------------
emacs/notmuch-lib.el | 52 --------------------
2 files changed, 90 insertions(+), 90 deletions(-)
--
1.7.10.4
^ permalink raw reply related [flat|nested] 4+ messages in thread
* [PATCH 1/1] emacs: hello: bugfix for saved searches defcustom
2014-04-16 21:21 [PATCH 0/1] emacs: hello: bugfix for saved searches defcustom Mark Walters
@ 2014-04-16 21:21 ` Mark Walters
2014-04-21 13:02 ` David Bremner
2014-04-18 0:33 ` [PATCH 0/1] " David Bremner
1 sibling, 1 reply; 4+ messages in thread
From: Mark Walters @ 2014-04-16 21:21 UTC (permalink / raw)
To: notmuch
The recent changes for saved searches introduced a bug when notmuch
was loaded after the saved search was defined. This was caused by a
utility function not being defined when the defcustom was loaded.
Fix this by moving some code around: the defcustom is moved into
notmuch-hello (which is a more natural place anyway), and the utility
functions are moved before the defcustom in notmuch-hello. We are
rather constrained as the defcustom for saved searches is the first
variable in the notmuch-hello customize window; to avoid moving this
customize the defcustom needs to be the first defcustom in
notmuch-hello, and the utility functions come before that.
This patch also renames one of the utility functions from
notmuch--saved-searches-to-plist to
notmuch-hello--saved-searches-to-plist (as it is purely local to
notmuch-hello) and corrects a couple of typo/spelling mistakes pointed
out by Tomi.
---
emacs/notmuch-hello.el | 128 ++++++++++++++++++++++++++++++++++--------------
emacs/notmuch-lib.el | 52 --------------------
2 files changed, 90 insertions(+), 90 deletions(-)
diff --git a/emacs/notmuch-hello.el b/emacs/notmuch-hello.el
index 4900a24..a7a8e20 100644
--- a/emacs/notmuch-hello.el
+++ b/emacs/notmuch-hello.el
@@ -29,6 +29,96 @@
(declare-function notmuch-search "notmuch" (&optional query oldest-first target-thread target-line continuation))
(declare-function notmuch-poll "notmuch" ())
+(defun notmuch-saved-search-get (saved-search field)
+ "Get FIELD from SAVED-SEARCH.
+
+If SAVED-SEARCH is a plist, this is just `plist-get', but for
+backwards compatibility, this also deals with the two other
+possible formats for SAVED-SEARCH: cons cells (NAME . QUERY) and
+lists (NAME QUERY COUNT-QUERY)."
+ (cond
+ ((keywordp (car saved-search))
+ (plist-get saved-search field))
+ ;; It is not a plist so it is an old-style entry.
+ ((consp (cdr saved-search)) ;; It is a list (NAME QUERY COUNT-QUERY)
+ (case field
+ (:name (first saved-search))
+ (:query (second saved-search))
+ (:count-query (third saved-search))
+ (t nil)))
+ (t ;; It is a cons-cell (NAME . QUERY)
+ (case field
+ (:name (car saved-search))
+ (:query (cdr saved-search))
+ (t nil)))))
+
+(defun notmuch-hello-saved-search-to-plist (saved-search)
+ "Return a copy of SAVED-SEARCH in plist form.
+
+If saved search is a plist then just return a copy. In other
+cases, for backwards compatibility, convert to plist form and
+return that."
+ (if (keywordp (car saved-search))
+ (copy-seq saved-search)
+ (let ((fields (list :name :query :count-query))
+ plist-search)
+ (dolist (field fields plist-search)
+ (let ((string (notmuch-saved-search-get saved-search field)))
+ (when string
+ (setq plist-search (append plist-search (list field string)))))))))
+
+(defun notmuch-hello--saved-searches-to-plist (symbol)
+ "Extract a saved-search variable into plist form.
+
+The new style saved search is just a plist, but for backwards
+compatibility we use this function to extract old style saved
+searches so they still work in customize."
+ (let ((saved-searches (default-value symbol)))
+ (mapcar #'notmuch-hello-saved-search-to-plist saved-searches)))
+
+(define-widget 'notmuch-saved-search-plist 'list
+ "A single saved search property list."
+ :tag "Saved Search"
+ :args '((list :inline t
+ :format "%v"
+ (group :format "%v" :inline t (const :format " Name: " :name) (string :format "%v"))
+ (group :format "%v" :inline t (const :format " Query: " :query) (string :format "%v")))
+ (checklist :inline t
+ :format "%v"
+ (group :format "%v" :inline t (const :format "Count-Query: " :count-query) (string :format "%v"))
+ (group :format "%v" :inline t (const :format "" :sort-order)
+ (choice :tag " Sort Order"
+ (const :tag "Default" nil)
+ (const :tag "Oldest-first" oldest-first)
+ (const :tag "Newest-first" newest-first))))))
+
+(defcustom notmuch-saved-searches '((:name "inbox" :query "tag:inbox")
+ (:name "unread" :query "tag:unread"))
+ "A list of saved searches to display.
+
+The saved search can be given in 3 forms. The preferred way is as
+a plist. Supported properties are
+
+ :name Name of the search (required).
+ :query Search to run (required).
+ :count-query Optional extra query to generate the count
+ shown. If not present then the :query property
+ is used.
+ :sort-order Specify the sort order to be used for the search.
+ Possible values are 'oldest-first 'newest-first or
+ nil. Nil means use the default sort order.
+
+Other accepted forms are a cons cell of the form (NAME . QUERY)
+or a list of the form (NAME QUERY COUNT-QUERY)."
+;; The saved-search format is also used by the all-tags notmuch-hello
+;; section. This section generates its own saved-search list in one of
+;; the latter two forms.
+
+ :get 'notmuch-hello--saved-searches-to-plist
+ :type '(repeat notmuch-saved-search-plist)
+ :tag "List of Saved Searches"
+ :group 'notmuch-hello)
+
(defcustom notmuch-hello-recent-searches-max 10
"The number of recent searches to display."
:type 'integer
@@ -269,44 +359,6 @@ afterwards.")
(add-to-history 'notmuch-search-history search)))
(notmuch-search search notmuch-search-oldest-first))
-(defun notmuch-saved-search-get (saved-search field)
- "Get FIELD from SAVED-SEARCH.
-
-If SAVED-SEARCH is a plist, this is just `plist-get', but for
-backwards compatibility, this also deals with the two other
-possible formats for SAVED-SEARCH: cons cells (NAME . QUERY) and
-lists (NAME QUERY COUNT-QUERY)."
- (cond
- ((keywordp (car saved-search))
- (plist-get saved-search field))
- ;; It is not a plist so it is an old-style entry.
- ((consp (cdr saved-search)) ;; It is a list (NAME QUERY COUNT-QUERY)
- (case field
- (:name (first saved-search))
- (:query (second saved-search))
- (:count-query (third saved-search))
- (t nil)))
- (t ;; It is a cons-cell (NAME . QUERY)
- (case field
- (:name (car saved-search))
- (:query (cdr saved-search))
- (t nil)))))
-
-(defun notmuch-hello-saved-search-to-plist (saved-search)
- "Return a copy of SAVED-SEARCH in plist form.
-
-If saved search is a plist then just return a copy. In other
-cases, for backwards compatability, convert to plist form and
-return that."
- (if (keywordp (car saved-search))
- (copy-seq saved-search)
- (let ((fields (list :name :query :count-query))
- plist-search)
- (dolist (field fields plist-search)
- (let ((string (notmuch-saved-search-get saved-search field)))
- (when string
- (setq plist-search (append plist-search (list field string)))))))))
-
(defun notmuch-hello-add-saved-search (widget)
(interactive)
(let ((search (widget-value
diff --git a/emacs/notmuch-lib.el b/emacs/notmuch-lib.el
index 3a3c69d..2941da3 100644
--- a/emacs/notmuch-lib.el
+++ b/emacs/notmuch-lib.el
@@ -107,58 +107,6 @@ Note that the recommended way of achieving the same is using
(defvar notmuch-search-history nil
"Variable to store notmuch searches history.")
-(defun notmuch--saved-searches-to-plist (symbol)
- "Extract a saved-search variable into plist form.
-
-The new style saved search is just a plist, but for backwards
-compatatibility we use this function to extract old style saved
-searches so they still work in customize."
- (let ((saved-searches (default-value symbol)))
- (mapcar #'notmuch-hello-saved-search-to-plist saved-searches)))
-
-(define-widget 'notmuch-saved-search-plist 'list
- "A single saved search property list."
- :tag "Saved Search"
- :args '((list :inline t
- :format "%v"
- (group :format "%v" :inline t (const :format " Name: " :name) (string :format "%v"))
- (group :format "%v" :inline t (const :format " Query: " :query) (string :format "%v")))
- (checklist :inline t
- :format "%v"
- (group :format "%v" :inline t (const :format "Count-Query: " :count-query) (string :format "%v"))
- (group :format "%v" :inline t (const :format "" :sort-order)
- (choice :tag " Sort Order"
- (const :tag "Default" nil)
- (const :tag "Oldest-first" oldest-first)
- (const :tag "Newest-first" newest-first))))))
-
-(defcustom notmuch-saved-searches '((:name "inbox" :query "tag:inbox")
- (:name "unread" :query "tag:unread"))
- "A list of saved searches to display.
-
-The saved search can be given in 3 forms. The preferred way is as
-a plist. Supported properties are
-
- :name Name of the search (required).
- :query Search to run (required).
- :count-query Optional extra query to generate the count
- shown. If not present then the :query property
- is used.
- :sort-order Specify the sort order to be used for the search.
- Possible values are 'oldest-first 'newest-first or
- nil. Nil means use the default sort order.
-
-Other accepted forms are a cons cell of the form (NAME . QUERY)
-or a list of the form (NAME QUERY COUNT-QUERY)."
-;; The saved-search format is also used by the all-tags notmuch-hello
-;; section. This section generates its own saved-search list in one of
-;; the latter two forms.
-
- :get 'notmuch--saved-searches-to-plist
- :type '(repeat notmuch-saved-search-plist)
- :tag "List of Saved Searches"
- :group 'notmuch-hello)
-
(defcustom notmuch-archive-tags '("-inbox")
"List of tag changes to apply to a message or a thread when it is archived.
--
1.7.10.4
^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [PATCH 0/1] emacs: hello: bugfix for saved searches defcustom
2014-04-16 21:21 [PATCH 0/1] emacs: hello: bugfix for saved searches defcustom Mark Walters
2014-04-16 21:21 ` [PATCH 1/1] " Mark Walters
@ 2014-04-18 0:33 ` David Bremner
1 sibling, 0 replies; 4+ messages in thread
From: David Bremner @ 2014-04-18 0:33 UTC (permalink / raw)
To: Mark Walters, notmuch
Mark Walters <markwalters1009@gmail.com> writes:
> This is almost the same as id:1397627927-9692-1-git-send-email-markwalters1009@gmail.com but with a commit message a couple of function renames and a couple of spelling/typo mistakes fixed (pointed out by Tomi)
This version also fixes the problem I was having. Since it's just code
movement, not much to review. On the other hand, it would be good if
somebody other than Mark or I could confirm this code movement doesn't
break things for them.
d
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH 1/1] emacs: hello: bugfix for saved searches defcustom
2014-04-16 21:21 ` [PATCH 1/1] " Mark Walters
@ 2014-04-21 13:02 ` David Bremner
0 siblings, 0 replies; 4+ messages in thread
From: David Bremner @ 2014-04-21 13:02 UTC (permalink / raw)
To: Mark Walters, notmuch
Mark Walters <markwalters1009@gmail.com> writes:
> The recent changes for saved searches introduced a bug when notmuch
> was loaded after the saved search was defined. This was caused by a
> utility function not being defined when the defcustom was loaded.
pushed.
d
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2014-04-21 13:03 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-04-16 21:21 [PATCH 0/1] emacs: hello: bugfix for saved searches defcustom Mark Walters
2014-04-16 21:21 ` [PATCH 1/1] " Mark Walters
2014-04-21 13:02 ` David Bremner
2014-04-18 0:33 ` [PATCH 0/1] " David Bremner
Code repositories for project(s) associated with this public inbox
https://yhetil.org/notmuch.git/
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).