Mail Archives: djgpp-workers/1996/03/13/11:02:32
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.
- Raw text -