Subject: Re: Microemacs 3.9 spawn.c #if problems
From: [email-masked] (RAMontante [condition that I not be identified])
Date: 24 Nov 87 17:51:16 GMT
Newsgroups: comp.sources.bugs

[email-masked] (Mark D. Freeman) writes:
>
>In spawn.c, the "#if"s are inconsistant in the case of MSDOS and MSC.
>This concerns the use of "system()" vs. functions defined in spawn.c
>
>I played with it a little, and got it to compile, but I can't push a
>shell.
>
>Does anyone have the correct fixes?

[On rereading, I'm not as sure whether Mark is referring to v3.9 or v3.9e.
I assume he means v3.9 the original, not 3.9e.]

I had the same problem, using Turbo C.  I think that the problem is, the
system() call executes command.com in batch mode only, on a null input.  So
it just returns immediately.  A fix, though not a good one, is to change
a line that looks like
		system("");
to 		system("\\command.com");
(sorry, I'm not sure exactly where this is, but it's in the spawncli function,
near the middle/end (?:-))  This causes the batched command.com to run another,
interactive copy, wasting memory but giving you the effect you want.  This
probelm was in v3.8i, also.

BY THE WAY: in v3.9e, this is all VERY different.  Apparently Dan Lawrence is
replacing the system() call entirely with his own call, with some additional
functionality.  Unfortunately, it doesn't work either for me (TurboC, MSDOS3.1)
so I've stuck the system() calls back in [in the shellprog() function, and
disabled the execprg() function] until I can get it to work.  Any fixes for
this new stuff, anyone?