[cmucl-imp] Snapshot 2015-06

Carl Shapiro carl.shapiro at gmail.com
Fri Jun 12 03:49:29 UTC 2015


On Thu, Jun 11, 2015 at 8:53 AM, Raymond Toy <toy.raymond at gmail.com> wrote:

> My assumption is that it exists so that execve or whatever can be
> called with a new environment that can be easily manipulated from
> lisp.
>

Correct.

The CMUCL behavior of copying the environment into a native associative
structure at start-up (and using that copy to seed the environment of new
subprocesses) is very common.

Here are some examples

https://docs.python.org/2/library/os.html

http://golang.org/pkg/os/#Setenv

http://docs.oracle.com/javase/7/docs/api/java/lang/System.html

There is no consensus regarding what happens to the libc environment when
the environment copy is modified.  Library designers seem to prefer speed
of environment access to consistency with the libc environment.

It is not obvious whether there are significant benefits to doing anything
differently, but if there is a case to be made for a different behavior, it
would be helpful to know.  That would provide a basis for a technical
discussion.


More information about the cmucl-imp mailing list