[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Buffer-local process environments
From: |
Augusto Stoffel |
Subject: |
Re: Buffer-local process environments |
Date: |
Sun, 02 May 2021 08:13:36 +0200 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/27.2 (gnu/linux) |
> Honestly, the hack we have now is already annoying, at least to me. I
> would prefer to have something more solid to apply.
Hi Michael,
I can only think of two alternatives:
1. Introduce a whitelist of variables that can be exported to a remote.
Then drop entirely the current hack and just check whether
`process-environment' contains any exportable variables. For
flexibility, you can allow whitelisting a variable name (any value),
or a specific VAR=VALUE pair.
The whitelist can be set globally or dynamically. So, for instance,
the vc files could just append "BZR_LOG", "HGPLAIN" and whatnot
globally to this list and never worry again.
Obviously, this will break third-party code, but the fix is quite
easy. Nobody could bash you for that.
2. Introduce a blacklist of variables that are never exported to a
remote. This can be done by extending
`tramp-remote-process-environment' to follow the same convention of
`process-environment' that an entry of the form VAR, without the
=VALUE, means removing the variable.
So, for instance, entries "PATH" and "TERM" should be added to the
default value of `tramp-remote-process-environment'. This would
solve the unintuitive (if not buggy) behavior I pointed out a few
messages back in this thread.
As another example, python.el would append "PYTHONPATH" and
"PYTHONHOME" globally to `tramp-remote-process-environment', since
these variables hold directory names.
This option is fully backwards compatible, but keeps the hack you
said you don't like anyway.
It's also conceivable do to both things, but instead of enforcing 1.,
just give a warning. Then eventually you could get rid of the hack
without breaking other packages.
- Re: Buffer-local process environments,
Augusto Stoffel <=