mu4e: clean up mu4e--make-query-items

Automatically copy all key-values from the source item.
This commit is contained in:
Dirk-Jan C. Binnema
2025-03-16 11:33:47 +02:00
parent ba9b7c079f
commit 6f228fc505
2 changed files with 24 additions and 21 deletions

View File

@ -620,6 +620,14 @@ Returns the updated PLIST."
(setq plist (cddr plist)))
p))
(defun mu4e-plist-put-many (plist &rest keyvals)
"Like `plist-put', but allow for multiple key-value pairs.
PLIST is a property list, and KEYVALS are key value ... ."
(while keyvals
(plist-put plist (car keyvals) (cadr keyvals))
(setq keyvals (cdr keyvals)))
plist)
(defun mu4e--message-hide-headers ()
"Hide headers based on the `message-hidden-headers' variable.
This is mu4e's version of the post-emacs-28 `message-hide-headers',

View File

@ -223,27 +223,22 @@ bookmark or maildir."
(unread (or (plist-get last-results-item :unread) 0))
(baseline-count (or (plist-get baseline-item :count) count))
(baseline-unread (or (plist-get baseline-item :unread) unread))
(delta-unread (- unread baseline-unread))
(value
(list
:name name
:query query
:count count
:unread unread
:delta-count (- count baseline-count)
:delta-unread delta-unread)))
;; remember the *effective* query too; we don't really need it, but
;; useful for debugging.
(setq value (plist-put value :effective-query effective-query))
(setq value (plist-put value :maildir maildir))
;; copy some other items from item.
(mu4e-plist-do (lambda (k v)
(when (memq k '(:key :maildir :hide :hide-if-no-unread
:hide-unread))
(setq value (plist-put value k v)))) item)
;; nil props bring me discomfort
(mu4e-plist-remove-nils value)))
data))
(delta-unread (- unread baseline-unread)))
(mu4e-plist-remove-nils
(mu4e-plist-put-many
item
:name name
:type type
:query query
:count count
:unread unread
:delta-count (- count baseline-count)
:delta-unread delta-unread
:maildir maildir
;; remember the *effective* query too; we don't really need it, but
;; useful for debugging.
:effective-query effective-query))))
data))
(defun mu4e-query-items (&optional type)
"Grab cached information about query items of some TYPE.