bug-gnu-emacs
[Top][All Lists]
Advanced

[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: Eli Zaretskii
Subject: bug#23779: 25.0.95; consing "SHELLVAR" onto process-environment doesn't remove it from subprocess env
Date: Fri, 17 Jun 2016 20:06:28 +0300

> Cc: address@hidden, address@hidden
> From: Dmitry Gutov <address@hidden>
> Date: Fri, 17 Jun 2016 17:47:49 +0300
> 
> 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.

Now that 'push' works, why do we need setenv for that?

> So, what are the downsides?

That there's no way of changing the environment permanently?

> - 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))
>       (coding-system-for-write
>            (or coding-system-for-write vc-git-commits-coding-system))
> -     (process-environment (cons "PAGER=" process-environment)))
> +     (process-environment process-environment))
> +    (setenv "PAGER")

I'm not sure I see why that is nicer.





reply via email to

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