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) (defmacro letenv! (envvars &rest body)
"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))
`(let ((process-environment (copy-sequence process-environment))) `(let ((process-environment (copy-sequence process-environment)))
(dolist (var ',envvars) (dolist (var (list ,@(cl-loop for (var val) in envvars
(setenv (car var) (cadr var))) collect `(cons ,var ,val))))
(setenv (car var) (cdr var)))
,@body)) ,@body))
(defmacro add-load-path! (&rest dirs) (defmacro add-load-path! (&rest dirs)