mirror of
https://github.com/doomemacs/doomemacs
synced 2025-08-03 12:27:26 -05:00
Make plist-put! variadic
And capable of modifying non-symbols in-place.
This commit is contained in:
@ -22,9 +22,13 @@ list, the pair is destructured into (CAR . CDR)."
|
|||||||
,retval)))
|
,retval)))
|
||||||
|
|
||||||
;;;###autoload
|
;;;###autoload
|
||||||
(defmacro plist-put! (plist prop value)
|
(defmacro plist-put! (plist &rest rest)
|
||||||
"Set PROP to VALUE in PLIST in-place."
|
"Set each PROP VALUE pair in REST to PLIST in-place."
|
||||||
`(setq ,plist (plist-put ,plist ,prop ,value)))
|
`(cl-loop for (prop value)
|
||||||
|
on (list ,@rest) by #'cddr
|
||||||
|
do ,(if (symbolp plist)
|
||||||
|
`(setq ,plist (plist-put ,plist prop value))
|
||||||
|
`(plist-put ,plist prop value))))
|
||||||
|
|
||||||
;;;###autoload
|
;;;###autoload
|
||||||
(defmacro plist-delete! (plist prop)
|
(defmacro plist-delete! (plist prop)
|
||||||
|
Reference in New Issue
Block a user