refactor(lib): sharp-quote & minor refactors

This commit is contained in:
Henrik Lissner 2022-03-19 21:12:41 +01:00
parent 0a151f4f13
commit 3333eee466
No known key found for this signature in database
GPG key ID: B60957CA074D39A3

View file

@ -222,9 +222,8 @@ TRIGGER-HOOK is a list of quoted hooks and/or sharp-quoted functions."
"Lexically bind ENVVARS in BODY, like `let' but for `process-environment'." "Lexically bind ENVVARS in BODY, like `let' but for `process-environment'."
(declare (indent 1)) (declare (indent 1))
`(let ((process-environment (copy-sequence process-environment))) `(let ((process-environment (copy-sequence process-environment)))
(dolist (var (list ,@(cl-loop for (var val) in envvars ,@(cl-loop for (var val) in envvars
collect `(cons ,var ,val)))) collect `(setenv ,var ,val))
(setenv (car var) (cdr var)))
,@body)) ,@body))
(defmacro letf! (bindings &rest body) (defmacro letf! (bindings &rest body)
@ -451,11 +450,11 @@ See `general-key-dispatch' for what other arguments it accepts in BRANCHES."
defs) defs)
(t ,fallback)))))))) (t ,fallback))))))))
(defalias 'kbd! 'general-simulate-key) (defalias 'kbd! #'general-simulate-key)
;; For backwards compatibility ;; For backwards compatibility
(defalias 'λ! 'cmd!) (defalias 'λ! #'cmd!)
(defalias 'λ!! 'cmd!!) (defalias 'λ!! #'cmd!!)
;;; Mutation ;;; Mutation
@ -478,11 +477,10 @@ This triggers setters. `setq' does not."
"`delq' ELT from LIST in-place. "`delq' ELT from LIST in-place.
If FETCHER is a function, ELT is used as the key in LIST (an alist)." If FETCHER is a function, ELT is used as the key in LIST (an alist)."
`(setq ,list `(setq ,list (delq ,(if fetcher
(delq ,(if fetcher `(funcall ,fetcher ,elt ,list)
`(funcall ,fetcher ,elt ,list) elt)
elt) ,list)))
,list)))
(defmacro pushnew! (place &rest values) (defmacro pushnew! (place &rest values)
"Push VALUES sequentially into PLACE, if they aren't already present. "Push VALUES sequentially into PLACE, if they aren't already present.