Временная измененная среда во время вызова внешнего процесса из Emacs
Есть ли удобный и функциональный (with-...
-подобный) способ временного изменения переменных среды при использовании shell-comand
или же start-process
?
Спасибо заранее, Пер
2 ответа
Решение
server-with-environment
выглядит многообещающе
server-with-environment - это макрос Lisp в `server.el '.
(ENV VARS для сервера со средой и тело отдыха)
Оцените BODY с переменными среды VARS, установленными в ENV. Переменные среды затем восстанавливаются до своих прежних значений.
VARS должен быть списком строк. ENV должен быть в том же формате, что и `process-environment'.
process-environment - этосписок переопределенных переменных среды для наследования подпроцессов.
(let ((process-environment (cons "FOO=BAR" process-environment)))
(shell-command-to-string "echo $FOO"))
->
BAR