4DOS removes /Y option

2004-03-13

Matthias Paul writes about JP Software's 4DOS shell:

I assume that quite a few FreeDOS users use JP Software's otherwise excellent command processor 4DOS.COM as replacement for COMMAND.COM or FREECOM.

It happens that with one of their recent builds of 4DOS 4.50 (most probably 124 -- the current build is 125) they silently but deliberately removed support for the startup option /Y in order to invoke the batch file debugger.

/Y is supported by COMMAND.COM since MS-DOS 6.2, PC DOS 6.3, late issues of Novell DOS 7, and by DR-DOS 7.02 and higher, and (like the earlier /D) is used to communicate the user selected skip- (F5) and single-stepping-(F8)-modes from the DOS BIOS to the shell.

If you had pressed F8 during startup and were single-stepping CONFIG.SYS, the DOS BIOS would automatically add a /Y to the shell command line, so that the invoked shell could continue to single-step through AUTOEXEC.BAT. In particular, this is important when you cannot manually edit the configuration files, for example, during CD-ROM boot or such.

(NB. Similar means also existed in the initial version of Novell DOS 7 and in OpenDOS 7.01, but they didn't used the command line interface, but communicated the status of the boot mode through special settings retrieved via the pre- environment. This internal interface is still supported in all recent issues of DR-DOS and COMMAND.COM, so that you can easily mix different kernel and shell versions. Unfortunately, 4DOS does not query this internal interface, although this would have some advantages as it is more flexible and can report some further sub-modes to the shell so it could be even more seamlessly integrated than just using /D and /Y. Also, this interface could still continue to work, even if support for the option /Y would be permanently removed in 4DOS. On the other hand, this will only work for the DR-DOS family, as MS-DOS/PC DOS only support the /Y and /D trick.)

/Y can also be used to single-step normal batchfiles, and according to Rex Conn, head of JP Software, several system administrators did complain that users would 'misuse' /Y in order to bypass some stuff in the startup batchjobs, hence support for this option was silently removed in one of the most recent builds (it's still in the help for build 124, but doesn't work there any more, in build 125 it has also been removed from the help). Unfortunately, that they are thereby breaking an IMHO vital part of DOS compatibility and cause significant inconveniences to users who have to single-step their startup files in an emergency case does not seem to occur to them it seems...

So, if you are a user of 4DOS, this mail is intended to inform you of this modification, which otherwise may escape you until the next time you have to single-step the configuration files in an emergency case and find it to be no longer working...

If you do not agree with the change, I would like to encourage you to voice your opinion in JP Software's support forum and ask them to reenable the previous behaviour, just as I and several other users did - so far without success, though. Or, if you prefer that this option be removed, you can also state this there. After all, that's democracy...

Otherwise, I'd like to suggest that you keep hold of the last 4DOS build which still has this option enabled. (I think, it was 4DOS 7.50 build 122, but right now I am not completely sure about this, as I didn't had any time to follow and update every new build in the past few months myself, so I will have to find out myself now as well.)

Hope it helps to keep you from stepping into a trap by "upgrading" to the latest build.