From: Stefan Monnier <monnier@IRO.UMontreal.CA>
To: Michael Albinus <michael.albinus@gmx.de>
Cc: Eli Zaretskii <eliz@gnu.org>, emacs-devel@gnu.org, dpittman@fb.com
Subject: Re: Environment variables for remote processes
Date: Tue, 18 Nov 2014 16:24:11 -0500 [thread overview]
Message-ID: <jwvwq6sgqjh.fsf-monnier+emacsbugs@gnu.org> (raw)
In-Reply-To: <87mw7oe2y3.fsf@gmx.de> (Michael Albinus's message of "Tue, 18 Nov 2014 20:14:28 +0100")
> That sounds terrible: two classes of citizens in
> process-environment. Some of them being there before Tramp connection
> happened, and some of them added later, via let-bind or permanently.
Not sure what you mean by "before Tramp connection". The issue is what
environment to give to the command run via `process-file'.
Whether there's a pre-existing Tramp connection or not is an
implementation detail of Tramp. But the semantics of `process-file' is
clearly that it should receive in its environment the things that are in
`process-environment', and currently Tramp fails to obey this part of
the semantics of `process-file'.
Of course, it wouldn't be correct to inherit the whole of
`process-environment' either. And of course, I understand that
implementing this environment handling might take more than a quick
half-hour hack.
> How do you want to explain the difference to a user? It would make a
> difference, whether an entry has been added to process-environment
> before a Tramp connection, or afterwards.
No, the particular time at which the Tramp connection was made shouldn't
make any appreciable difference.
> (let ((process-environment process-environment))
> (setenv "DISPLAY")
> (process-file ...))
In my naive mental model, Tramp's implementation of `process-file' will
run "env <ENVVARS> <COMMAND>" on the remote host, so we could use "-u"
to remove elements from the environment.
But let's start by handling additions, and then we'll see if/when we need to
handle removals.
>>> Furthermore, some remote settings might be requested which are not in
>>> process-environment by default.
>> Not sure what you're referring to here, but it seems like a different
>> issue than the one at hand (which is to propagate let-bound
>> process-environment values).
> I'm speaking about tramp-remote-process-environment, which uses another
> mechanism. But if we have an accepted mechanism for environment
> variables on remote hosts, there shall be only The One Way to set them.
So it does seem like a completely different issue. What I'm concerned
here is about the environment that is "per subprocess" rather than "per
connection".
Stefan
next prev parent reply other threads:[~2014-11-18 21:24 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <030C5AEB-C009-4995-B153-6EECD44802C8@fb.com>
[not found] ` <87y4rkhdt6.fsf@gmx.de>
[not found] ` <87y4rf2jtx.fsf@gmx.de>
[not found] ` <jwv4mu3rniq.fsf-monnier+emacsbugs@gnu.org>
[not found] ` <87r3x6eq8w.fsf@gmx.de>
[not found] ` <jwvh9y23640.fsf-monnier+emacsbugs@gnu.org>
[not found] ` <87mw7rtnxg.fsf@gmx.de>
[not found] ` <83a93rduz4.fsf@gnu.org>
[not found] ` <jwv4mtyua90.fsf-monnier+emacsbugs@gnu.org>
2014-11-17 18:48 ` Environment variables for remote processes (was: bug#18940: 24.4; vc-hg does not disable pager, leading to hangs (at least with tramp)) Michael Albinus
2014-11-18 2:15 ` Environment variables for remote processes Stefan Monnier
2014-11-18 19:14 ` Michael Albinus
2014-11-18 21:24 ` Stefan Monnier [this message]
2014-11-18 21:45 ` Michael Albinus
2014-11-19 3:16 ` Stefan Monnier
2014-11-19 15:12 ` andres.ramirez
2014-11-23 10:22 ` Michael Albinus
2014-11-19 18:18 ` Michael Albinus
2014-11-19 18:31 ` Michael Albinus
2014-11-20 4:29 ` Stefan Monnier
2014-11-20 15:52 ` Michael Albinus
2014-11-21 2:46 ` Stefan Monnier
2014-11-22 11:43 ` Michael Albinus
2014-11-22 16:33 ` Stefan Monnier
2014-11-22 16:49 ` Michael Albinus
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://www.gnu.org/software/emacs/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=jwvwq6sgqjh.fsf-monnier+emacsbugs@gnu.org \
--to=monnier@iro.umontreal.ca \
--cc=dpittman@fb.com \
--cc=eliz@gnu.org \
--cc=emacs-devel@gnu.org \
--cc=michael.albinus@gmx.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/emacs.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).