mirror of
https://git.notmuchmail.org/git/notmuch
synced 2024-11-21 18:38:08 +01:00
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:
parent
a8ba7c59a4
commit
bc98920917
1 changed files with 14 additions and 11 deletions
|
@ -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)))
|
||||
|
|
Loading…
Reference in a new issue