Add cond! macro to core-lib

An anaphoric cond.
This commit is contained in:
Henrik Lissner 2019-07-18 01:20:55 +02:00
parent 854d8ce00a
commit 103612a347
No known key found for this signature in database
GPG key ID: 5F6C0EA160557395

View file

@ -181,6 +181,13 @@ The order VALUES is preserved."
elt) elt)
,list))) ,list)))
(defmacro cond! (&rest clauses)
"An anaphoric `cond', which stores the conditional value in `it'."
`(let (it)
(cond ,@(cl-loop for (cond . body) in clauses
collect `((setq it ,cond)
,@body)))))
(defmacro defer-until! (condition &rest body) (defmacro defer-until! (condition &rest body)
"Run BODY when CONDITION is true (checks on `after-load-functions'). Meant to "Run BODY when CONDITION is true (checks on `after-load-functions'). Meant to
serve as a predicated alternative to `after!'." serve as a predicated alternative to `after!'."