Hi,

On Sun, Apr 26, 2020 at 2:42 PM Darrin M. Gorski <dar...@gorski.net> wrote:
>
> >  Like what other command processors?
>
> All of them.  MS-DOS

Which? v7, aka from Win9x? I don't recall it working there, certainly
not in 6.22.

> , 4DOS (which is the one I've switched to for now, despite it being a bit 
> slow).

Yes, I was going to say that 4DOS and XP's CMD both are "enhanced" in
that they return errorlevels for *internal* commands. But that's
non-standard. Is that what you expected?

> I'm running in QEMU on a pi4, so disk IO can be painful.  4DOS.COM is 5 times 
> larger than COMMAND.COM.

Size doesn't matter (usually) in this case, and 4DOS can swap to disk
or extended or expanded memory, IIRC. You may have to adjust a setting
somewhere. (Sorry, I don't use 4DOS regularly. I prefer the "simpler"
and "more standard" FreeCOM 0.84-pre2 XMS_Swap.)

> I ran these batch files under MS-DOS back in the day, and this was never
> even a consideration. In fact it took me a while to figure out why this didn't
> work before I finally looked at the source. I might go so far as to call this 
> a
> bug as it means FreeDOS does not provide an MS-DOS compatible
> COMMAND.COM.

I'm still not sure what you mean. It works as expected, at least from
what I've seen. I'm no expert, but I've written a billion batch files.
Again, it doesn't (and isn't supposed to) report *internal* commands'
errorlevels.

> I asked the question because I can not think of any reason not to return
> ERRORLEVEL like every other shell does and I was puzzled when I saw
> that it was a literal zero being returned, despite the global variable
> "errorlevel" being available.

Errorlevel does indeed work (see my MetaDOS on iBiblio) for *external* commands.

> Another cool hack, if someone is actually interested in fixing
> COMMAND.COM, would be to allow the internal command "exit" take an
> argument, and set "errorlevel" to that value before exiting.  (no arg?
> return(errorlevel), arg? return(arg) instead). I've have to resort to writing
> external utilities that set errorlevel before exiting in order to send proper
> codes back to the BBS.  All of the COMMAND.COMs that I've used simply
> ignore any arguments to the 'exit' command (as is expected).

I believe the shell from DR-DOS (e.g. 7.03) supported that. The
so-called OpenDOS 7.01 version was released "non-commercial only" with
source. You can grab that on Wayback (Web Archive), if direly needed.

> I would do these things myself but I have no idea how to set up an
> appropriate development environment for compiling DOS commands.
>
> Maybe I'll look into that a little more.

I haven't checked lately. Bart did release 0.84-pre7 back in December,
but I haven't had the time or energy to look closer.

* https://github.com/FDOS/freecom/releases

IA16-GCC or TurboC or OpenWatcom were used. It shouldn't be impossibly
hard to rebuild (famous last words).

But please try the latest pre-release and describe exactly (with
example) what doesn't work and what you want to work.


_______________________________________________
Freedos-user mailing list
Freedos-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/freedos-user

Reply via email to