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*"
This commit is contained in:
Rudolf Adamkovič 2023-12-13 22:39:02 +01:00 committed by David Bremner
parent a8ba7c59a4
commit bc98920917

View file

@ -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)))