aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRudolf Adamkovič <salutis@me.com>2023-12-13 22:39:02 +0100
committerDavid Bremner <david@tethera.net>2024-08-06 06:25:07 -0300
commitbc989209171d406b3671024542e59b86b0ecb23d (patch)
treee7b90a57e758f5541e918e225ab1628f69e3db27
parenta8ba7c59a40e84da6f0e07782c4472bf26a409ea (diff)
emacs: Fix saved-search buffer titles
REPRODUCTION STEPS: (let ((notmuch-saved-searches (list (list :name "Emacs List" :query "query:lists-emacs") (list :name "All Lists" :query "query:lists")))) (notmuch-search-buffer-title "query:lists-emacs" )) ACTUAL: "*notmuch-saved-search-[ All Lists ]-emacs*" EXPECTED: "*notmuch-saved-search-Emacs List*"
-rw-r--r--emacs/notmuch.el25
1 files changed, 14 insertions, 11 deletions
diff --git a/emacs/notmuch.el b/emacs/notmuch.el
index 2a73ffa5..f55e9b42 100644
--- a/emacs/notmuch.el
+++ b/emacs/notmuch.el
@@ -973,17 +973,20 @@ unthreaded) and whether it's SAVED (t or nil)."
(defun notmuch-search-buffer-title (query &optional type)
"Returns the title for a buffer with notmuch search results."
(let* ((saved-search
- (let (longest
- (longest-length 0))
- (cl-loop for tuple in notmuch-saved-searches
- if (let ((quoted-query
- (regexp-quote
- (notmuch-saved-search-get tuple :query))))
- (and (string-match (concat "^" quoted-query) query)
- (> (length (match-string 0 query))
- longest-length)))
- do (setq longest tuple))
- longest))
+ (cl-loop with match
+ with match-length = 0
+ for candidate in notmuch-saved-searches
+ for length = (let* ((query* (notmuch-saved-search-get
+ candidate
+ :query))
+ (regexp (concat "^"
+ (regexp-quote query*))))
+ (and (string-match regexp query)
+ (length (match-string 0 query))))
+ if (and length (> length match-length))
+ do (setq match candidate
+ match-length length)
+ finally return match))
(saved-search-name (notmuch-saved-search-get saved-search :name))
(saved-search-type (notmuch-saved-search-get saved-search :search-type))
(saved-search-query (notmuch-saved-search-get saved-search :query)))