On Mon, Jan 15, 2001 at 10:14:46AM -0600, I wrote:
> On Mon, Jan 15, 2001 at 02:19:26PM +0100, Martin Atzmueller wrote:
> > William Harold Newman wrote:
> > > Perhaps, though, we should retain the RUN-PROGRAM ENV keyword
> > > argument, with the old alist-of-keywords interface, as a deprecated
> > > feature for a while. We could use another keyword argument, perhaps
> > > ENV-STRINGS, for the new interface. I could do this early in 0.6.10,
> > > probably next week.
> > What does "deprecated" mean, in this context?
> My ideas was to do it roughly the same way as in QUIT: code using the
> old interface still works for a while, but issues a warning.
I'm now rewriting the handling of the Unix environment both in
RUN-PROGRAM and in LOAD-FOREIGN. It seems to me that the current
RUN-PROGRAM behavior of defaulting the environment to empty (instead
of defaulting the environment to the current process's environment) is
strange. Maybe it was normal when CMU CL was first written, but I'm
used to the way that perl (and AFAIK most other programs) do it,
defaulting to a copy of the current process's environment.
Would it be reasonable to change this? It's an incompatible change,
and I can't think of any gentle way to phase it in. However, I find
the old behavior so surprising that it still seems
reasonable to change it.
(If it's a good idea, doing it as soon as possible might make sense.
Alternatively, waiting until 0.7.x would also be reasonable.)
perl -e 'system "env";'
(run-program "/usr/bin/env" nil :output t)
(run-program "/usr/bin/env" nil :output t :env '((:foo . "bar")))
William Harold Newman <william.newman@...>
PGP key fingerprint 85 CE 1C BA 79 8D 51 8C B9 25 FB EE E0 C3 E5 7C