mu4e: add mu4e-listp for backward compat

The listp function was only added to emacs 29.

Fixes #2499.
This commit is contained in:
Dirk-Jan C. Binnema 2023-06-08 18:51:22 +03:00
parent b9026c5042
commit 616282c4ad
2 changed files with 9 additions and 2 deletions

View File

@ -578,6 +578,13 @@ Mu4e version of emacs 28's string-replace."
(replace-regexp-in-string (regexp-quote from-string) (replace-regexp-in-string (regexp-quote from-string)
to-string in-string nil 'literal)) to-string in-string nil 'literal))
(defun mu4e-plistp (object)
"Non-nil if and only if OBJECT is a valid plist.
This is mu4e's version of Emacs 29's `plistp'."
(let ((len (proper-list-p object)))
(and len (zerop (% len 2)))))
(defun mu4e-key-description (cmd) (defun mu4e-key-description (cmd)
"Get the textual form of current binding to interactive function CMD. "Get the textual form of current binding to interactive function CMD.
If it is unbound, return nil. If there are multiple bindings, If it is unbound, return nil. If there are multiple bindings,

View File

@ -27,7 +27,7 @@
;;; Code: ;;; Code:
(require 'mu4e-message) (require 'mu4e-message)
(require 'mu4e-helpers)
;;; Helpers ;;; Helpers
@ -127,7 +127,7 @@ Based on the current value of `mu4e-mailing-lists' and
(interactive) (interactive)
(setq mu4e--lists-hash (make-hash-table :test 'equal)) (setq mu4e--lists-hash (make-hash-table :test 'equal))
(seq-do (lambda (item) (seq-do (lambda (item)
(if (plistp item) (if (mu4e-plistp item)
;; the new format ;; the new format
(puthash (plist-get item :list-id) item mu4e--lists-hash) (puthash (plist-get item :list-id) item mu4e--lists-hash)
;; backward compatibility ;; backward compatibility