[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#23779: 25.0.95; consing "SHELLVAR" onto process-environment doesn't

From: Dmitry Gutov
Subject: bug#23779: 25.0.95; consing "SHELLVAR" onto process-environment doesn't remove it from subprocess env
Date: Fri, 17 Jun 2016 17:47:49 +0300
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.2

On 06/17/2016 05:19 PM, Eli Zaretskii wrote:

I wonder if we should make setenv work non-destructively now.

Why should we do that?  We have initial-environment if we need the
original value.

Normally, we only want to change the environment for the duration of a command. So, what are the downsides?

One the plus side:

- setenv-internal will become simpler.
- We won't have to cons manually anymore. The code will become a bit nicer, like:

diff --git a/lisp/vc/vc-git.el b/lisp/vc/vc-git.el
index f35c84d..5315e0a 100644
--- a/lisp/vc/vc-git.el
+++ b/lisp/vc/vc-git.el
@@ -1450,7 +1450,8 @@ vc-git--call
          (or coding-system-for-read vc-git-log-output-coding-system))
          (or coding-system-for-write vc-git-commits-coding-system))
-       (process-environment (cons "PAGER=" process-environment)))
+       (process-environment process-environment))
+    (setenv "PAGER")
     (apply 'process-file vc-git-program nil buffer nil command args)))

 (defun vc-git--out-ok (command &rest args)

reply via email to

[Prev in Thread] Current Thread [Next in Thread]