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