[PATCH v1] emacs: `notmuch-search-find-stable-query-region' should never return an empty query.

David Edmondson dme at dme.org
Mon May 19 09:09:16 PDT 2014


`notmuch-search-find-stable-query-region' is expected to examine the
region between `beg' and `end' to generate a query that can be used to
include all threads in that region. If the region contains no threads,
it should throw an error rather than generating an empty query.
---

Whilst logging calls to 'notmuch' from the UI, I noticed that it would generate
  notmuch tag -inbox -- ()
if I hit 'a' at the very end of a search buffer. That seems at least
useless and possibly bad, so flag an error in this case instead.

Oh, the first bit is just cleanup.

 emacs/notmuch.el | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/emacs/notmuch.el b/emacs/notmuch.el
index 8aa0104..74103a6 100644
--- a/emacs/notmuch.el
+++ b/emacs/notmuch.el
@@ -429,12 +429,15 @@ matched and unmatched messages in the current thread."
 
 If ONLY-MATCHED is non-nil, include only matched messages.  If it
 is nil, include both matched and unmatched messages."
-  (let ((query-list nil) (all (not only-matched)))
+  (let ((all (not only-matched))
+	query-list)
     (dolist (queries (notmuch-search-properties-in-region :query beg end))
       (when (first queries)
 	(push (first queries) query-list))
       (when (and all (second queries))
 	(push (second queries) query-list)))
+    (unless query-list
+      (error "No threads in region."))
     (concat "(" (mapconcat 'identity query-list ") or (") ")")))
 
 (defun notmuch-search-find-authors ()
-- 
2.0.0.rc0



More information about the notmuch mailing list