delorie.com/archives/browse.cgi   search  
Mail Archives: opendos/1998/06/27/21:56:24

Date: Sat, 27 Jun 1998 19:50:12 -0600 (MDT)
Message-Id: <199806280150.TAA26737@kewlaid.highfiber.com>
Mime-Version: 1.0
To: dos DOT support AT delorie DOT com
From: raster AT highfiber DOT com (Charles Dye)
Subject: Various bugs
Cc: opendos AT delorie DOT com

A few more obscure bugs, and one simple suggestion.

1.  COMMAND.COM and SwitChar:  the DR DOS version of COMMAND.COM misbehaves
    in various unpleasant ways when the SwitChar is set to anything but a
forward slash.  (See INT 21/3701.)  For starters, COMMAND.COM no longer
handles backslash correctly as a path separator -- DEL \TEST\*.* will
attempt to delete files in the *current* directory, not necessarily in
\TEST.  If any files have duplicate names, it may succeed.  (Also, the
prompt is suppressed for some reason --?)

In an apparently separate problem, if the SwitChar is anything but a forward
slash, program pathnames (passed in the environment block) may contain
forward slashes as path separators.  This causes problems for many programs,
including DR DOS EDIT.COM (hello, default color scheme!) and SETUP.EXE.

Also, if SwitChar is changed, the DOS prompt is displayed in an odd
fashion.  The first backslash is replaced with a forward slash.  Probably
this was meant as a visual cue that SwitChar has been changed, but might
cause compatibility problems for clever batch files which redirect the
prompt to get the current directory.

In short:  SwitChar should only affect the switch character.  Not the path
separator character, please!  And yes, these are all problems specifically
with COMMAND.COM -- patching out the call to 21/3700 prevents them all.

2.  DEBUG:  The G ("go") command, as far as I can tell, never works right.
    If the program ends via INT 21/4Cxx, it will terminate DEBUG (not just
the child process.)  If it ends via INT 21/00 or INT 20 or RET, it will lock
the machine up.

DB (deposit bytes) in assembly mode, will occasionally give a "Token is too
long" error for string data between quotes.  (I know, who does this anyway?)
The error message seems data-dependant, but it's not just the length of the
string.  Try:
DB "000000000000000000000000000000"   (thirty zeroes, fails)
... but change the zeroes to minus signs, and DEBUG accepts it.  Weird.

Unrelated:  Attempting to run the sample debug script in DOSBOOK will leave
the computer in an interesting state.  (Error in the documentation, not in
the code.)

3.  Setup performance:  Try adding a line BUFFERS=30 to the CONFIG.SYS file
    on Setup Disk #1.  This can cut setup time considerably -- nearly 50% on
one machine I tested! -- and also saves wear on the floppy mechanism.  Easy
improvement!

raster AT highfiber DOT com

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019