Fix letenv! macro

It didn't work due to over-aggressive quoting of the let-vars.
This commit is contained in:
Henrik Lissner 2020-01-01 23:48:19 -05:00
parent f0abb3264c
commit fd6def4d5a
No known key found for this signature in database
GPG key ID: 5F6C0EA160557395

View file

@ -171,9 +171,11 @@ If FETCHER is a function, ELT is used as the key in LIST (an alist)."
(defmacro letenv! (envvars &rest body)
"Lexically bind ENVVARS in BODY, like `let' but for `process-environment'."
(declare (indent 1))
`(let ((process-environment (copy-sequence process-environment)))
(dolist (var ',envvars)
(setenv (car var) (cadr var)))
(dolist (var (list ,@(cl-loop for (var val) in envvars
collect `(cons ,var ,val))))
(setenv (car var) (cdr var)))
,@body))
(defmacro add-load-path! (&rest dirs)