I believe there is a Unix system call (available through the C interface, but 
not through a shell command) that can modify the environment of the parent of a 
process. I think it's used in the implementation of the commands that 
manipulate the shell's own environment. But IIRC, by design, a process can not 
alter the environment of a grand-parent process at all, as that ability would 
create a huge problem with security within the OS.

The same system call (and restriction) is probably available in Windows, and in 
doing a quick search to find out, I happily discovered the setx shell command 
(introduced with Vista?) , which claims can alter the System and User 
Environments permanently, and would seem to be a solution for the original 
question.

See http://technet.microsoft.com/en-us/library/cc755104(v=ws.10).aspx

Cheers,

Kieron


____________________
  Racket Users list:
  http://lists.racket-lang.org/users

Reply via email to