Use mu4e-query-rewrite-function also for computing bookmark counts
Until now, the bookmark queries were sent to mu in their original form. Thus, if you have `mu4e-query-rewrite-function` set, the numbers shown next to the bookmarks didn't reflect the actual number of query results you'd get when opening a bookmark view. With this commit, the `mu4e-query-rewrite-function` is applied and the result is sent to mu for evaluation (in `mu4e~start`) and the likewise the rewritten queries are used to find the matching one in the last query results (in `mu4e~main-bookmarks`). * mu4e/mu4e-utils.el (mu4e~start): Send the rewritten queries for evaluation to mu. * mu4e/mu4e-main.el (mu4e~main-bookmarks): Compare last mu query results with rewritten queries.
This commit is contained in:
@ -125,7 +125,8 @@ clicked."
|
|||||||
for bm in bmks
|
for bm in bmks
|
||||||
for key = (string (plist-get bm :key))
|
for key = (string (plist-get bm :key))
|
||||||
for name = (plist-get bm :name)
|
for name = (plist-get bm :name)
|
||||||
for query = (plist-get bm :query)
|
for query = (funcall (or mu4e-query-rewrite-function #'identity)
|
||||||
|
(plist-get bm :query))
|
||||||
for qcounts = (and (stringp query)
|
for qcounts = (and (stringp query)
|
||||||
(cl-loop for q in queries
|
(cl-loop for q in queries
|
||||||
when (string=
|
when (string=
|
||||||
|
|||||||
@ -826,7 +826,9 @@ When successful, call FUNC (if non-nil) afterwards."
|
|||||||
(setq mu4e-pong-func (lambda (info) (mu4e~pong-handler info func)))
|
(setq mu4e-pong-func (lambda (info) (mu4e~pong-handler info func)))
|
||||||
(mu4e~proc-ping
|
(mu4e~proc-ping
|
||||||
(mapcar ;; send it a list of queries we'd like to see read/unread info for
|
(mapcar ;; send it a list of queries we'd like to see read/unread info for
|
||||||
(lambda (bm) (plist-get bm :query))
|
(lambda (bm)
|
||||||
|
(funcall (or mu4e-query-rewrite-function #'identity)
|
||||||
|
(plist-get bm :query)))
|
||||||
;; exclude bookmarks that are not strings, and with certain flags
|
;; exclude bookmarks that are not strings, and with certain flags
|
||||||
(seq-filter (lambda (bm)
|
(seq-filter (lambda (bm)
|
||||||
(and (stringp (plist-get bm :query))
|
(and (stringp (plist-get bm :query))
|
||||||
|
|||||||
Reference in New Issue
Block a user