Subject: bug#30134: ehsell and process-environment variable

From: Glenn Morris <[email-masked]>
Date: Tue, 16 Jan 2018 13:03:14 -0500

Eli Zaretskii wrote:

>> 2) 'M-x eshell' to open eshell buffer.
>> 
>> 3) evaluate below code in eshell buffer.
>>     (let ((process-environment (cons "TEST=1234" process-environment)))
>>         (make-term "test-term" "/bin/bash"))
>> 
>> 4) moved to buffer 'test-term' and type 'echo $TEST' and you can see
>>    nothing.
[...]
> process-environment is for invoking other programs from Emacs.  By
> contrast, Eshell does not invoke any other program, it is implemented
> in Emacs itself.  And process-environment doesn't affect Emacs itself.
> That is why you see the difference with other programs, in particular
> shells invoked from Emacs.

I don't think that's relevant to this report, where a bash shell is
being invoked, it just happens to be launched from an eshell buffer.

eshell seems to have some special handling for process-environment,
which is (presumably) the cause of this difference from other buffers.