emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Post-22.1 development?


From: David Kastrup
Subject: Re: Post-22.1 development?
Date: Thu, 14 Jun 2007 10:57:33 +0200
User-agent: Gnus/5.11 (Gnus v5.11) Emacs/23.0.51 (gnu/linux)

Richard Stallman <address@hidden> writes:

> What do people think of this idea: make call-process and
> start-process supply the values of the envvars TERM and DISPLAY from
> two variables, term-environment-variable and
> display-environment-variable, if they are not specified in
> process-environment.  These two variables would normally be
> frame-local, and in each frame, they would have the right values for
> that frame's terminal.

I'd make them terminal-local.  One could also put everything into one
terminal-local "terminal-process-environment" which would be
effectively prepended to process-environment.

I'd prefer that approach, and it would mostly work in _my_ preferred
modus operandi.  However, see below:

> This way, Lisp programs that bind TERM explicitly will work right.
> However, in the future they could bind term-environment-variable and
> display-environment-variable, instead of fussing with
> process-environment.
>
> Would someone like to check whether this gives good results all
> around, for the Lisp code that operates on the environment?

The problem I see with this is that Károly expressed a strong
preference for having the _complete_ environment terminal-local
(personally, I think this a bad idea but have not been able to
convince him and several others): he preferred to consider a
separately started emacsclient session to have an _independent_
complete set of environment variables.

Using the above scheme with terminal-process-environment would still
facilitate that, but in that case most of the direct manipulations and
queries working on process-environment would fail to work.

So this scheme, while definitely cleaner than the shared-tail
approach, would not be backward-compatible to a large body of existing
code _if_ people tried to make the bulk of their environment
terminal-local.

The effects would be somewhat ameliorated by only putting environment
variables which _differ_ from the global setting into
terminal-process-environment, but it would be still quite a nuisance.

-- 
David Kastrup




reply via email to

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