emacs-devel
[Top][All Lists]
Advanced

[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.



reply via email to

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