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))) (setq plist (cddr plist)))
p)) 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 () (defun mu4e--message-hide-headers ()
"Hide headers based on the `message-hidden-headers' variable. "Hide headers based on the `message-hidden-headers' variable.
This is mu4e's version of the post-emacs-28 `message-hide-headers', 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)) (unread (or (plist-get last-results-item :unread) 0))
(baseline-count (or (plist-get baseline-item :count) count)) (baseline-count (or (plist-get baseline-item :count) count))
(baseline-unread (or (plist-get baseline-item :unread) unread)) (baseline-unread (or (plist-get baseline-item :unread) unread))
(delta-unread (- unread baseline-unread)) (delta-unread (- unread baseline-unread)))
(value (mu4e-plist-remove-nils
(list (mu4e-plist-put-many
:name name item
:query query :name name
:count count :type type
:unread unread :query query
:delta-count (- count baseline-count) :count count
:delta-unread delta-unread))) :unread unread
;; remember the *effective* query too; we don't really need it, but :delta-count (- count baseline-count)
;; useful for debugging. :delta-unread delta-unread
(setq value (plist-put value :effective-query effective-query)) :maildir maildir
(setq value (plist-put value :maildir maildir)) ;; remember the *effective* query too; we don't really need it, but
;; copy some other items from item. ;; useful for debugging.
(mu4e-plist-do (lambda (k v) :effective-query effective-query))))
(when (memq k '(:key :maildir :hide :hide-if-no-unread data))
:hide-unread))
(setq value (plist-put value k v)))) item)
;; nil props bring me discomfort
(mu4e-plist-remove-nils value)))
data))
(defun mu4e-query-items (&optional type) (defun mu4e-query-items (&optional type)
"Grab cached information about query items of some TYPE. "Grab cached information about query items of some TYPE.