Date: Wed, 13 Mar 1996 17:59:13 +0200 (IST) From: Eli Zaretskii To: Charles Marslett Cc: djgpp-workers AT delorie DOT com Subject: Re: Library docs-questions In-Reply-To: <3145AC3E.4D53@tempe.vlsi.com> Message-Id: Mime-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII On Tue, 12 Mar 1996, Charles Marslett wrote: > Permitting the operation of a nested shell to affect the outer shell > would be confusing, I think, since Unix shells, DOS batch files and > every version of make I am aware of work just like this. Why would > you want to break such a pervasive standard? Unix shells do that, but DOS batch files don't: if you chdir in a batch file you'll wind up in that directory when the batch file terminates. I don't know what versions of Make did you see that enforce this; the current version of DJGPP Make doesn't (it doesn't use the code in `system' that was the cause of my complaint). DJGPP is not only about porting Unix Makefiles and making DOS look more like Unix; it's also about developing native DOS apps. People who work under DOS are used to the global effects of `chdir' and expect it when they write Makefiles. Take a look at the Makefiles in the DJGPP archives of ported GNU programs and tell me how many of them can do without `cd'. I did check, and the answer is: almost none. I'd speculate that Makefiles written originally under DOS would use this even more. On Unix, you'd write a `cd' and a command on one line with a semi-colon to make it affect the command, but DOS shell cannot grok multiple commands on a single command line.