Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Posting-Version: version B 2.10 5/3/83; site cvl.UUCP Path: utzoo!linus!philabs!seismo!rlgvax!cvl!jcw From: jcw@cvl.UUCP Newsgroups: net.micro.pc Subject: Re: "Env. Variables & Disk junk - (nf)" Message-ID: <486@cvl.UUCP> Date: Wed, 13-Jul-83 14:31:57 EDT Article-I.D.: cvl.486 Posted: Wed Jul 13 14:31:57 1983 Date-Received: Thu, 14-Jul-83 20:01:21 EDT References: <160@ihlpf.UUCP> Organization: U. of Md. Computer Vision Lab Lines: 15 When COMMAND invokes a program, inside the program's Program Segment Prefix is a pointer to its environment. However, it is a pointer to a *copy* of the environment of the shell. The upshot is you can modify the environment block to your heart's content but when the program exits that block is freed up and the shell's block has not changed. That is why set has to be an internal command. The only way I can think of to change the shell's env. is to go searching blindly through memory for it, and that's more than slightly gross. A note a few days ago mentioned the ENVIRON statement (undocumented) in BASIC 2.0, that sets environment variables. I thought that since BASIC was done by Microsoft that it might implement some trick to permanently change environment variables. No such luck, they go away too. -Jay Weber {..!seismo!rlgvax!cvl!jcw}