home *** CD-ROM | disk | FTP | other *** search
/ Shareware Overload / ShartewareOverload.cdr / utils / 4dos1.zip / UPDATE30.DOC < prev    next >
Text File  |  1990-09-07  |  40KB  |  929 lines

  1.  
  2.                            4DOS Update Documentation
  3.  
  4.                              Version 3.02, 9/7/90
  5.  
  6.  
  7.    Copyright 1989, 1990, J.P. Software.  All Rights Reserved.  Published by
  8.    J.P. Software, P.O. Box 1470, E. Arlington, MA 02174 USA, (617) 646-
  9.    3975.
  10.  
  11.    This file provides details on features changed and bug fixes in versions
  12.    3.01 and 3.02, and corrections to the version 3 manual, due to either
  13.    typographical errors or new features added after the manual went to
  14.    press.  The ASCII manual distributed with shareware copies of 4DOS has
  15.    already been corrected to include most of the changes in this file (all
  16.    the ones we could fit!), but such corrections have not been made in the
  17.    printed manual.  We have made every effort to insure that this file is
  18.    as accurate as possible, but we cannot guarantee that every single
  19.    change is included.
  20.  
  21.    This file does not document changes between versions 2 and 3 of 4DOS. 
  22.    If you are a 4DOS version 2 user and this is the first copy of version 3
  23.    you've seen, contact J.P. Software for documentation on the extensive
  24.    changes between versions 2 and 3, or read through the new manual and
  25.    this file carefully before you begin using version 3.02.
  26.  
  27.    The following marks are used to identify items in this file:
  28.  
  29.       -->     CAUTION:  This change may require modifications to your ex-
  30.               isting batch files, aliases, commands, or common methods of
  31.               using 4DOS.  Check these carefully when replacing an earlier
  32.               version of 4DOS with 4DOS 3.02.
  33.  
  34.       3.01    This item is new or has been modified for version 3.01.
  35.  
  36.       3.02    This item is new or has been modified for version 3.02.
  37.  
  38.       [p nn]  This item corrects or adds to the information in the version
  39.               3 manual, on page "nn".
  40.  
  41.    If you don't want to read through all changes you may find it easiest to
  42.    view this file with 4DOS's LIST command and using its (F)ind capability. 
  43.    If you want to see the modifications for version 3.02, search for
  44.    "3.02"; if you want to see the changes in your printed manual, search
  45.    for the string "[p".
  46.  
  47.    This file is formatted at 58 lines per page, and contains form feeds and
  48.    page footers.  It can be printed properly on most PC printers using the
  49.    command:
  50.  
  51.               copy update30.doc prn
  52.  
  53.    Printing it with a program that formats the pages is not likely to work
  54.    due to the formatting included in the file.
  55.  
  56.  
  57.    4DOS 3.02  [9-7-90]           UPDATE30.DOC                        page 1
  58.  
  59.  
  60.                                Table of Contents
  61.  
  62.  
  63.    Installation and Configuration  . . . . . . . . . . . . . . . . . .    3
  64.       General Enhancements . . . . . . . . . . . . . . . . . . . . . .    3
  65.       Automatic Installation . . . . . . . . . . . . . . . . . . . . .    3
  66.       Command Line Options . . . . . . . . . . . . . . . . . . . . . .    3
  67.  
  68.    Features and Usage  . . . . . . . . . . . . . . . . . . . . . . . .    5
  69.       General Features . . . . . . . . . . . . . . . . . . . . . . . .    5
  70.       Command Line Editing . . . . . . . . . . . . . . . . . . . . . .    6
  71.       Aliases  . . . . . . . . . . . . . . . . . . . . . . . . . . . .    6
  72.       Batch Files  . . . . . . . . . . . . . . . . . . . . . . . . . .    6
  73.       I/O Redirection  . . . . . . . . . . . . . . . . . . . . . . . .    6
  74.       Environment Variables  . . . . . . . . . . . . . . . . . . . . .    7
  75.       Technical Information  . . . . . . . . . . . . . . . . . . . . .    9
  76.  
  77.    Commands  . . . . . . . . . . . . . . . . . . . . . . . . . . . . .   10
  78.       ALIAS  . . . . . . . . . . . . . . . . . . . . . . . . . . . . .   10
  79.       CD and CDD . . . . . . . . . . . . . . . . . . . . . . . . . . .   10
  80.       COPY . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .   10
  81.       DEL  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .   10
  82.       DESCRIBE . . . . . . . . . . . . . . . . . . . . . . . . . . . .   10
  83.       DIR  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .   10
  84.       DRAWBOX  . . . . . . . . . . . . . . . . . . . . . . . . . . . .   11
  85.       FOR  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .   11
  86.       GLOBAL . . . . . . . . . . . . . . . . . . . . . . . . . . . . .   11
  87.       GOTO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .   11
  88.       IF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .   11
  89.       IFF  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .   12
  90.       INPUT  . . . . . . . . . . . . . . . . . . . . . . . . . . . . .   12
  91.       KEYSTACK . . . . . . . . . . . . . . . . . . . . . . . . . . . .   12
  92.       LIST . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .   13
  93.       LOADBTM  . . . . . . . . . . . . . . . . . . . . . . . . . . . .   13
  94.       LOG  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .   14
  95.       MOVE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .   14
  96.       QUIT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .   14
  97.       REM  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .   14
  98.       SELECT . . . . . . . . . . . . . . . . . . . . . . . . . . . . .   14
  99.       SET  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .   14
  100.       SETDOS . . . . . . . . . . . . . . . . . . . . . . . . . . . . .   14
  101.  
  102.    HELP System . . . . . . . . . . . . . . . . . . . . . . . . . . . .   15
  103.       New Capabilities and Topics  . . . . . . . . . . . . . . . . . .   15
  104.       Environment Variables and Switches . . . . . . . . . . . . . . .   15
  105.       Configuring HELP with HELPCFG  . . . . . . . . . . . . . . . . .   16
  106.  
  107.  
  108.  
  109.  
  110.  
  111.  
  112.  
  113.  
  114.  
  115.    4DOS 3.02  [9-7-90]           UPDATE30.DOC                        page 2
  116.  
  117.  
  118.    Installation and Configuration
  119.    ------------------------------
  120.  
  121.    This section discusses changes in the way 4DOS is installed and config-
  122.    ured on your system.  It is not an explanation of how to install your
  123.    upgrade to version 3.02 (for that see README.DOC).  For more information
  124.    on installation see pages 9 - 26 of the manual.
  125.  
  126.  
  127.       General Enhancements:
  128.  
  129.    3.01   Disk swapping should no longer cause occasional system hangs if
  130.           the Ctrl-C or Ctrl-Break key is hit while 4DOS is swapping itself
  131.           in from disk (i.e. when exiting an application).
  132.  
  133.    3.01   CLS, LIST, and SELECT are no longer affected by a video BIOS bug
  134.           in old IBM PCs.
  135.  
  136.    3.02   [p 27]  When starting a shareware copy of 4DOS there is a 1/2-
  137.           second, two-tone beep to identify this as a shareware copy, fol-
  138.           lowed by a 3-second delay to allow reading of the shareware re-
  139.           minder message.  Beginning with version 3.02, you can skip this
  140.           delay by pressing any key.
  141.  
  142.  
  143.       Automatic Installation:
  144.  
  145.           [p 13] The command to start automatic installation has been
  146.           changed to:
  147.  
  148.                     x:install x y
  149.  
  150.           where "x" is the drive the 4DOS disk is in, and "y" is the drive
  151.           on which you want to install 4DOS.  See README.1ST for more de-
  152.           tailed instructions if you need them.
  153.  
  154.  
  155.       Command Line Options:
  156.  
  157.           All the items below refer to information on pages 21 - 23 of the
  158.           manual.
  159.  
  160.    3.01   [p 21-23]  Either / or - may be used as the switch character on
  161.           the 4DOS command line (eg SHELL=4DOS -S:E instead of /S:E, etc.).
  162.  
  163.           [p 21]  The file specified in the "@filename" option can have
  164.           more than one line, and is limited to a total of 255 characters
  165.           in the file, not 128.  A file invoked with @filename can have
  166.           another @filename inside it.  Wherever @filename occurs, all
  167.           options placed after it are ignored, so it must be the last item
  168.           present.
  169.  
  170.  
  171.  
  172.  
  173.    4DOS 3.02  [9-7-90]           UPDATE30.DOC                        page 3
  174.  
  175.           [p 21]  The /A switch supports the same incremental syntax used
  176.           with /E, i.e. /A+n.  When used in 4DSHELL this allows you to
  177.           guarantee a specified amount of free alias space in secondary
  178.           shells.
  179.  
  180.           [p 21]  /E:nnnn may also be followed by S (/E:nnnnS) to swap the
  181.           master copy of the environment.  This will save a small amount of
  182.           low memory, but may not be compatible with all applications, and
  183.           will not work with any application that needs to modify the mas-
  184.           ter environment.
  185.  
  186.           [p 22]  4DOS will normally reduce the space used to swap a sec-
  187.           ondary shell by retrieving static information from the primary
  188.           shell's swap area.  This reduces secondary shell swap size from
  189.           68K or more to about 20K.  This feature will not work if the
  190.           total of your alias, history, and environment sizes in the sec-
  191.           ondary shell is larger than that specified for the primary shell,
  192.           or if the size of DOS memory has been reduced when the secondary
  193.           shell is started (e.g. by a program like DESQView that reserves
  194.           some memory at the top end of DOS memory).  In such cases second-
  195.           ary shells will require a full-size swap area.  The size of the
  196.           swap area is displayed in the "swapping initialized (nnK)" mes-
  197.           sage when 4DOS starts.
  198.  
  199.    3.01   [p 22]  The default location for disk swap files in secondary
  200.    -->    shells is now in the root directory of the drive specified in the
  201.           COMSPEC environment variable (the drive where 4DOS.COM is
  202.           stored).  If you want disk swap files to go to another drive or
  203.           directory, use the "/S:Bd:\path" or "/S:Dd:\path" settings in the
  204.           4DSHELL environment variable (see page 25 of the manual).  This
  205.           should cut down on swap file clutter, yet leave you with complete
  206.           control over swap file location.  
  207.  
  208.    3.01   [p 23]  The /U switch requires 386MAX, MOVE-EM 1.02 or above,
  209.           QRAM, or QEMM 5.0 or above.  It may not be compatible with all
  210.           other software products.  See COMPAT.DOC for full details on com-
  211.           patibility.
  212.  
  213.  
  214.  
  215.  
  216.  
  217.  
  218.  
  219.  
  220.  
  221.  
  222.  
  223.  
  224.  
  225.  
  226.  
  227.  
  228.  
  229.  
  230.  
  231.    4DOS 3.02  [9-7-90]           UPDATE30.DOC                        page 4
  232.  
  233.  
  234.    Features and Usage
  235.    ------------------
  236.  
  237.    This section discusses changes in 4DOS features and usage which are not
  238.    specific to a particular command and which are not related to installa-
  239.    tion and boot.
  240.  
  241.       General Features:
  242.  
  243.           [p 29]  The command history is now automatically passed to sec-
  244.           ondary shells.  It is passed in one direction only, i.e. addi-
  245.           tional commands entered in the secondary shell will not be passed
  246.           back to the primary shell.  To disable this option, place a HIS-
  247.           TORY /F command in your 4START file.
  248.  
  249.    3.01   4DOS now has better support for non-English characters in file-
  250.           names, environment variables, and aliases.
  251.  
  252.    3.01   Most of the changes in version 3.0 to allow shareable file access
  253.    -->    on networks have been removed, because some networks and a few
  254.           popular programs (e.g. SHARE and FASTOPEN) couldn't handle them
  255.           properly.  SHARE/LAN support is now provided where possible, but
  256.           is avoided in many places where it has been found to cause trou-
  257.           ble.  This change should eliminate most or all I/O redirection
  258.           problems on networks.
  259.  
  260.    3.02   Several changes have been made in 4DOS's file handling to elimi-
  261.           nate problems with incomplete redirected output files on Novell
  262.           networks.
  263.  
  264.    3.01   A number of changes have been made to increase 4DOS's execution
  265.           speed, and reduce its size slightly.  Speed improvements are
  266.           primarily in the areas of file access (particularly .BAT files),
  267.           and environment variable and alias expansion.  They may not be
  268.           noticeable on higher-speed systems.
  269.  
  270.    3.01   4DOS can now correctly handle text files (.BAT or .BTM files,
  271.           files to be LISTed or TYPEd, etc.) which have CR/LF, CR only, or
  272.           LF only at the end of each line.  Previously not all of these
  273.           line terminators worked correctly.
  274.  
  275.    3.02   There is a small speedup in description processing for the file
  276.           commands (COPY, DEL, MOVE, and REN).
  277.  
  278.    3.02   The "?" character in filename wildcards now matches zero or more
  279.    -->    characters like COMMAND.COM instead of one or more like previous
  280.           versions of 4DOS.  Thus "DIR A?." will match both the files "A"
  281.           and "AA"; before it would only match "AA".  This change adjusts
  282.           4DOS to work the way COMMAND.COM works instead of the way
  283.           COMMAND.COM is documented to work.
  284.  
  285.  
  286.  
  287.  
  288.  
  289.    4DOS 3.02  [9-7-90]           UPDATE30.DOC                        page 5
  290.  
  291.       Command Line Editing:
  292.  
  293.    3.01   [p 28]  You can now enter characters that would normally be in-
  294.           terpreted by the line editor as a command (e.g., Ctrl-D or Ctrl-
  295.           K).  To do so precede the character with an ASCII 255 (hold down
  296.           the ALT key and enter 255 on the numeric keypad, then release the
  297.           ALT key).  To enter the ASCII 255 itself into the line, you must
  298.           enter it twice.
  299.  
  300.    3.01   The cursor shape will now be changed properly when you hit the
  301.           Ins key to switch editing modes.  Previously if SETDOS specified
  302.           a block cursor in the default mode it would not be changed to an
  303.           underline when Ins was hit.
  304.  
  305.    3.02   [p 28]  The F3 key now works like COMMAND.COM, so you can type
  306.           part of a line and hit F3 to get the rest of the previous line.
  307.  
  308.  
  309.       Aliases:
  310.  
  311.    3.01   Fixed a bug in alias expansion which occurred when a "%" was the
  312.           last character on the line.
  313.  
  314.  
  315.       Batch Files:
  316.  
  317.    3.01   See the commands section below for information on the new LOADBTM
  318.           command, which allows any batch file to work as a BTM file some
  319.           or all of the time.
  320.  
  321.    3.01   [p 33-34]  Batch files can now be nested 6 levels deep (the
  322.    -->    previous limit was 4).
  323.  
  324.    3.02   The ECHO state is now inherited properly when batch files chain. 
  325.           In version 3.01 the echo state was inherited properly on a CALL,
  326.           but not on a chain.
  327.  
  328.  
  329.       I/O Redirection:
  330.  
  331.    -->    [p 43-44]  Redirection is now fully nestable.  For example, in-
  332.           voking a batch file XYZ with "XYZ > OUT.DAT" will redirect all
  333.           output from the batch file to OUT.DAT unless additional redirec-
  334.           tion is encountered within the batch file.
  335.  
  336.    3.01   4DOS now checks for duplicate redirection (i.e., "DIR > 1.DAT >
  337.           2.DAT").  Previously duplicate redirection could hang the system.
  338.  
  339.    3.01   The system will no longer hang if a command specifies input redi-
  340.           rection after output redirection.
  341.  
  342.  
  343.  
  344.  
  345.  
  346.  
  347.    4DOS 3.02  [9-7-90]           UPDATE30.DOC                        page 6
  348.  
  349.       Environment Variables:
  350.  
  351.    3.01   [p 40]  In order to support subtraction in the new %@EVAL func-
  352.    -->    tion (see below) 4DOS will no longer accept a "-" in the name of
  353.           an environment variable to be expanded, unless the name is en-
  354.           closed in brackets [].
  355.  
  356.    3.01   [p 41]  Three new internal variables have been added:
  357.  
  358.                     %_dow          The day of the week as a string (Mon,
  359.                                    Tue, etc.)
  360.                     %_rows         The height of the screen
  361.                     %_columns      The width of the screen
  362.  
  363.    3.02   [p 41]  One new internal variable has been added:
  364.  
  365.               %_ndp                Returns:
  366.                                         0 if no coprocessor is installed
  367.                                         87 for an 8087
  368.                                         287 for an 80287
  369.                                         387 for an 80387
  370.  
  371.           [p 42]  There are a few minor errors or points which are not
  372.           clear in the list of variable functions in some versions of the
  373.           manual:
  374.  
  375.               * When using variable functions they must be preceded (and
  376.               optionally followed) by a percent sign, like all other envi-
  377.               ronment variables.  For example the "ext" function is refer-
  378.               enced as %@ext[filename] or as %@ext[filename]%.
  379.  
  380.               * The correct spelling for the string length function is
  381.               "%@len", not "%@length".
  382.  
  383.               * The %@line function is missing from early copies of the
  384.               manual.  This function returns the nth line of a file.  The
  385.               first line of the file is numbered 0.
  386.  
  387.               * In the %@substr function, the first character is numbered
  388.               0, and the correct syntax is "%@substr[string,start,length]"
  389.               not "%@substr[string,start,end]".
  390.  
  391.    3.01   [p 42]  A new function, %@eval, has been added.  The syntax is:
  392.  
  393.                     %@eval[expression]
  394.  
  395.           Where "expression" is any arithmetic expression.  The expression
  396.           can include any of the following elements:
  397.  
  398.               parentheses, which may be nested
  399.               unary + or - operators
  400.               multiplication and division operators:  *, /, and %% (modulo)
  401.               addition and subtraction operators:  + and -
  402.               environment variables, variable functions, and constants
  403.  
  404.  
  405.    4DOS 3.02  [9-7-90]           UPDATE30.DOC                        page 7
  406.  
  407.           The elements of an expression are processed with the precedence
  408.           shown above.  For example, 5*3+2 is treated as (5*3)+2 rather
  409.           than 5*(3+2).  Examples of the use of %@eval are:
  410.  
  411.               Increment a variable:  set a=%@eval[%a+1]
  412.  
  413.               Perform environment variable arithmetic:
  414.                     set c=%@eval[(%a*2) + (%@len[%b]-5)*7]
  415.  
  416.               Evaluate expressions in IF:
  417.  
  418.                     if %@eval[%@substr[%_time,0,2] %% 12] == 0 echo 12:00!
  419.  
  420.               Set up a simple command line calculator:
  421.  
  422.                     alias calc `echo The answer is:  %@eval[%&]`
  423.  
  424.    3.02   [p 42]  Commas will now be ignored by %@eval.  This will allow
  425.           (for example) %@eval[10,000 * 3] to get the expected result.  It
  426.           will also allow %@eval to work on the output of a command like
  427.           FREE, which contains embedded commas.  Also %@eval will give a
  428.           "Divide by zero" error message if you try to use 0 as a denomina-
  429.           tor for division or modulo calculation; previously it would give
  430.           an error for the modulo, but return the numerator as the result
  431.           for the division.
  432.  
  433.    3.02   [p 42]  %@substr can now handle quotes around the "string" argu-
  434.           ment.  Double quotes and back quotes are equivalent in this con-
  435.           text, and the quote characters DO count when determining which
  436.           characters are placed in the substring.  This capability allows
  437.           you to get substrings of strings which contain commas.  For exam-
  438.           ple:
  439.  
  440.                     %@substr["Mon, Aug 27, 1990", 1, 3]
  441.  
  442.           will return "Mon".  Previously the commas would be seen as argu-
  443.           ment separators, even if they were within a quoted string.
  444.  
  445.    3.01   [p 42]  Another new function, %@index[string1,string2] returns
  446.           the position of string2 within string1 (string2 can be as small
  447.           as a single character).  The first position in string1 is num-
  448.           bered 0.  If there is no match, the function returns -1.
  449.  
  450.    3.02   [p 42]  Two new variable functions have been added:
  451.  
  452.               %@upper[string]      Returns the string converted to upper
  453.                                    case.
  454.  
  455.               %@lower[string]      Returns the string converted to lower
  456.                                    case.
  457.  
  458.    3.01   [p 42]  When expanding environment variables 4DOS will display a
  459.           "Variable loop" error if you nest variable functions too deep, or
  460.           define variables which refer back to themselves.
  461.  
  462.  
  463.    4DOS 3.02  [9-7-90]           UPDATE30.DOC                        page 8
  464.  
  465.  
  466.       Technical Information:
  467.  
  468.           (All items here go with the technical information on page 149 of
  469.           the manual.)
  470.  
  471.    3.01   4DOS.COM now closes file handles 5 - 29 when it starts.  This
  472.           should solve problems with programs that pass open file handles
  473.           to a secondary shell.
  474.  
  475.    3.01   4DOS now generates two different INT 2F calls to allow TSRs to
  476.           tell when 4DOS is back at the prompt.  These calls have AX =
  477.           D44Eh.  The first occurs immediately before displaying the
  478.           prompt, with BX = 0; the second occurs after displaying the
  479.           prompt and immediately before accepting keyboard input, with BX =
  480.           1.  Any routine intercepting these calls should preserve at least
  481.           the SI, DI, BP, SP, DS, ES, and SS registers.
  482.  
  483.    3.02   Both 4DOS.COM and the 4DOS EXE files now check for version mis-
  484.           match (e.g. trying to use version 3.01a 4DOS.COM with a version
  485.           3.02 EXE file).  Previously this testing was done by 4DOS.COM
  486.           only, so a mismatch could go undetected in some circumstances.
  487.  
  488.    3.02   Divide by zero handling has been removed from 4DOS, allowing
  489.           standard DOS divide by zero handling to take place.  The 4DOS
  490.           divide by zero handler was not providing any advantage and could
  491.           occasionally fail to recover properly from division errors in
  492.           application programs.
  493.  
  494.    3.02   Cursor positioning during command line editing will now take
  495.           place in the current video page, rather than assuming page 0. 
  496.           This should fix minor cursor positioning problems with programs
  497.           that shell to DOS with the video adapter set somewhere other than
  498.           page 0 (like Turbo Debugger).
  499.  
  500.    3.02   Handling of the Abort response to a critical error during a 4DOS
  501.           command has been modified to solve some obscure problems with
  502.           changing floppy disks after Aborting from a disk error.
  503.  
  504.  
  505.  
  506.  
  507.  
  508.  
  509.  
  510.  
  511.  
  512.  
  513.  
  514.  
  515.  
  516.  
  517.  
  518.  
  519.  
  520.  
  521.    4DOS 3.02  [9-7-90]           UPDATE30.DOC                        page 9
  522.  
  523.  
  524.    Commands
  525.    --------
  526.  
  527.    This section describes the changes made to specific commands.  Note that
  528.    some commands are also affected by the general changes in the "features
  529.    and usage" section above.
  530.  
  531.    3.01   ALIAS:  ALIAS /R can now read multiple files, for example:
  532.  
  533.                     alias /r alias1 alias2 alias3
  534.  
  535.    3.01   [p 57-58]  CD and CDD:  Modified to allow forward slashes (/) in
  536.           path names.
  537.  
  538.    3.01   [p 62-64]  COPY:  There are several changes:
  539.  
  540.               Problems with appending files in binary mode have been fixed.
  541.  
  542.               The way that COPY accesses files has been modified to mini-
  543.               mize or eliminate problems with the MS-DOS APPEND command.
  544.  
  545.               The /R and /U switches are now ignored if the target is a
  546.               device.
  547.  
  548.               A ^Z (end of file mark) is now properly added to the target
  549.               file when it is in ASCII mode.
  550.  
  551.    3.01   [p 66]  DEL:  Speed has been improved somewhat, especially on
  552.           non-cached disks.
  553.  
  554.    3.01   DESCRIBE:  4DOS description files will no longer get mixed up
  555.           between directories when running reasonably-behaved data pathing
  556.           utilities like DPATH.
  557.  
  558.    3.02   DESCRIBE:  Problems with missing <cr>s in description files have
  559.           been solved.  These problems did not cause any trouble within
  560.           4DOS, but 3rd-party description editors were confused by them.
  561.  
  562.    3.01   DIR:  Changed to display directory totals even when the "File not
  563.           found" message is displayed.  Changed the /F and /H switches so
  564.           they don't conflict with each other.
  565.  
  566.    3.02   DIR:  The time separator character will now be correct when the
  567.           country code is set for outside the US.  Previously it was hard-
  568.           coded as a colon.
  569.  
  570.    3.02   Problems with occasional "Out of memory" errors and missing
  571.           description displays in DIR have been resolved.  However, if you
  572.           fragment DOS memory (for example by loading two TSRs, then un-
  573.           loading the first but not the second) you can get "Out of memory"
  574.           errors in larger directories as DIR tries to expand the memory it
  575.           is using to store your filenames and descriptions.  If this oc-
  576.           curs, determine the cause of the fragmentation and resolve it. 
  577.  
  578.  
  579.    4DOS 3.02  [9-7-90]           UPDATE30.DOC                       page 10
  580.  
  581.           The primary tool for solving such a problem is a memory mapping
  582.           program like MAPMEM, PMAP, or Manifest.
  583.  
  584.    3.01   DRAWBOX:  Styles 3 and 4 now work properly.
  585.  
  586.    3.01   FOR:  Now aborts when a nested batch file CANCELs.  Also, fixed a
  587.           bug that was causing FOR variables to be ignored inside double
  588.           quotes.
  589.  
  590.    3.01   [p 83]  GLOBAL:  Added a /Q(uiet) switch to disable the display
  591.           of "GLOBAL: pathname".
  592.  
  593.    3.01   [p 85]  GOTO:  A GOTO inside an IFF statement now cancels all IFF
  594.    -->    parsing, and assumes you've branched completely outside the IFF
  595.           construct.  If you haven't, you will get "Unknown command" errors
  596.           on subsequent ELSE, ELSEIFF, and ENDIFF statements (see examples
  597.           below).  This change was necessary to avoid frequent errors
  598.           caused by GOTOs from inside an IFF block which left IFF parsing
  599.           active.  Also fixed a bug which prevented GOTO from branching to
  600.           the end of the file from within a GOSUB subroutine.
  601.  
  602.               iff "%1"=="Y"
  603.               :test
  604.                 copy file1 a:
  605.                 goto done               <--- Legal - branches outside the
  606.               else                           IFF block
  607.                 copy file2 b:
  608.                 goto test               <--- Illegal - branches within IFF
  609.               endiff                         block
  610.               [do some other work here]
  611.               :done
  612.  
  613.    3.01   [p 88-90]  IF:  There are several corrections to the description
  614.           in the manual.  Some of these errors are present only in early
  615.           copies of the manual:
  616.  
  617.               * The DOS memory size option is named DOSMEM, not DOSFREE.
  618.  
  619.               * The tests which check a numeric value (EMS, DOSMEM, etc.)
  620.               use the same relational operators as the string tests, as
  621.               shown in the examples.  For example, the syntax for EMS
  622.               should read:
  623.  
  624.                     EMS relop n[K|M]
  625.  
  626.               where "relop" means EQ, GE, GT, etc.  The "relop" is optional
  627.               for ERRORLEVEL, but required for all other numeric tests.
  628.  
  629.               * The MONITOR and VIDEO tests also require a relational oper-
  630.               ator (==, EQ, or NE) as described above for numeric tests.
  631.  
  632.               * The IF ATTRIB test has an additional option:  "N" tests for
  633.               no attributes set (i.e. all of the other attributes are off). 
  634.  
  635.  
  636.  
  637.    4DOS 3.02  [9-7-90]           UPDATE30.DOC                       page 11
  638.  
  639.               * IF ATTRIB volname V will only work if the volume name re-
  640.               fers to the root directory, and if there is a period after
  641.               the eighth character in volume names of nine characters or
  642.               more (e.g. to test for volume "MYFILES0107" in drive A:, use
  643.               IF ATTRIB A:\MYFILES0.107 V ...).
  644.  
  645.               * Two tests are missing from some copies of the manual:
  646.  
  647.                     IF DISKFREE relop n
  648.                          Tests the disk free space on the current drive. 
  649.                          Cannot be used to test other drives.
  650.  
  651.                     IF FILESIZE filename relop n
  652.                          Tests the size of the specified file.
  653.  
  654.                     For example:
  655.  
  656.                          if diskfree gt 40M echo Plenty of room
  657.                          if filesize myfile.dat gt 360K echo It won't fit!
  658.  
  659.    3.01   [p 88-90]  IF:  String comparisons will now be done numerically
  660.           if both values being compared begin with a digit.  This allows
  661.           you to do true arithmetic tests.  For example:
  662.  
  663.               set aa=027
  664.               set bb=20
  665.               if %aa gt %bb ...         This test will succeed because it
  666.                                         will compare the numeric values 27
  667.                                         and 20.
  668.               if "%aa" gt "%bb" ...     This test will fail because it will
  669.                                         compare the alphanumeric values
  670.                                         "027" and "20", and the "02" will
  671.                                         appear 'smaller' (alphanumerically)
  672.                                         than "20".
  673.  
  674.    3.01   IF:  The ATTRIB test for a volume label has been changed to get
  675.           around a bug in DOS, and should now recognize labels correctly.
  676.  
  677.    3.02   IF and IFF:  The string tests will now work correctly even if the
  678.           string contains an "=" sign (which is one of the IF test charac-
  679.           ters) or a "/" (which is the 4DOS switch character).  Also the
  680.           EMS test now returns the correct value (0) if there is no EMS
  681.           driver present.  In version 3.01 it would return a random value.
  682.  
  683.    3.01   IFF:  ELSE and ENDIFF will now be recognized properly even if
  684.           they are not followed with whitespace.
  685.  
  686.    3.01   INPUT:  Fixed a bug with very long variable names and/or input
  687.           text.
  688.  
  689.    3.01   [p 94]  KEYSTACK:  There are two changes:
  690.  
  691.  
  692.  
  693.  
  694.  
  695.    4DOS 3.02  [9-7-90]           UPDATE30.DOC                       page 12
  696.  
  697.               * KEYSTACK now supports a new symbol, !, to clear keystrokes
  698.               from the typeahead buffer, as well as anything in the
  699.               KEYSTACK buffer.  For example:
  700.  
  701.                     keystack ! @59
  702.  
  703.               will clear the typeahead buffer before stacking the @59 (F1)
  704.               keystroke.
  705.  
  706.               * Some programs will not interpret stacked keystrokes proper-
  707.               ly unless they contain both the correct ASCII value and the
  708.               correct keyboard "scan code".  For example, if you attempt to
  709.               KEYSTACK an "Enter" using ASCII code 13 (carriage return) and
  710.               see a small musical note instead, the program you are running
  711.               probably needs the scan code to interpret the keystroke prop-
  712.               erly.
  713.  
  714.               KEYSTACK now supports the entry of scan codes for standard
  715.               ASCII keys.  To enter the scan code, multiply it by 256 and
  716.               add it to the ASCII code.  Using the same example, the scan
  717.               code for the Enter key is 28, so the full value for this key
  718.               would be 28*256+13 = 7181.  With some programs you will find
  719.               that KEYSTACK 7181 works when KEYSTACK 13 does not (or vice
  720.               versa).  Experimentation is required to get the correct val-
  721.               ue.  A full discussion and table of scan codes is beyond the
  722.               scope of this document, but is available in many basic PC
  723.               books.
  724.  
  725.    3.01   [p 95]  LIST:  There are two changes:
  726.  
  727.    -->        Changed the search and print keys to use letters instead of
  728.               function keys:  F(ind), N(ext), and P(rint).  This avoids
  729.               conflicts when you wish to redefine the function keys for
  730.               other purposes.
  731.  
  732.               Added a new switch, /H, to strip the high bit of each charac-
  733.               ter, for displaying WordStar documents and other similar
  734.               files.
  735.  
  736.    3.02   LIST:  The switches now work properly when specified without
  737.           spaces, eg as /WS or /W/S.  Previously they required a space
  738.           (/W /S) to work correctly.
  739.  
  740.    3.01   [p 96]  LOADBTM:  This is a new command.  It will switch the
  741.           current batch file to and from .BTM mode.  The syntax is:
  742.  
  743.                     LOADBTM [ON | OFF]
  744.  
  745.           LOADBTM ON loads the entire file into memory and processes the
  746.           following lines as a .BTM file.  LOADBTM OFF unloads the file
  747.           from memory and processes the following lines one by one like a
  748.           .BAT file.  Both commands can be used regardless of the file's
  749.           original extension.  
  750.  
  751.  
  752.  
  753.    4DOS 3.02  [9-7-90]           UPDATE30.DOC                       page 13
  754.  
  755.           LOADBTM will allow you to have a single batch file for both
  756.           COMMAND.COM and 4DOS, and select .BTM mode via a statement like:
  757.  
  758.                     if "%@eval[2+2]" == "4" loadbtm on
  759.  
  760.           Since the %@eval function does not exist under COMMAND.COM, the
  761.           IF test will fail there and the rest of the line will be ignored. 
  762.           Under 4DOS where %@eval exists, the LOADBTM ON will be executed.
  763.  
  764.           LOADBTM will also allow you to load TSRs from a .BTM file by
  765.           switching it into .BAT mode, loading the TSRs, and switching back
  766.           to .BTM mode.  However note that, depending on what the file
  767.           does, such mode switching can erase much of the speed gained by
  768.           using a .BTM file in the first place.
  769.  
  770.  
  771.    3.01   LOG:  Fixed a problem which caused a ^C to occasionally hang the
  772.           system when LOG was ON.  Also changed LOG to automatically switch
  773.           LOG OFF if it couldn't open the log file.
  774.  
  775.    3.01   MOVE:  Now returns an "Access denied" error if you try to move
  776.           files to a character device.  Also the way that MOVE accesses
  777.           files has been modified to minimize or eliminate problems with
  778.           the MS-DOS APPEND command.
  779.  
  780.    3.01   QUIT:  Fixed a bug which kept 4DOS from QUITting within a GOSUB
  781.           subroutine.
  782.  
  783.    3.01   REM:  Will now be echoed if ECHO is ON.
  784.  
  785.    3.01   SELECT:  Fixed a bug that was causing SELECT COPY to copy from
  786.           the wrong directory when the argument was a directory name with
  787.           no trailing backslash.
  788.  
  789.    3.01   SET:  SET /R can now read multiple files, for example:
  790.  
  791.                     set /r env1 env2 env3
  792.  
  793.    3.01   SETDOS:  There are two changes:
  794.  
  795.               /S now resets the cursor shape immediately, so it can be used
  796.               to hide the cursor while in a batch file.
  797.  
  798.               /U1 should now properly return uppercase filenames in all
  799.               instances.
  800.  
  801.    3.02   SETDOS:  The COMPOUND character (SETDOS /C) can now be any ASCII
  802.           character except those specified in the manual as not allowed. 
  803.           Previously characters above ASCII 127 would not work as the sepa-
  804.           rator.
  805.  
  806.  
  807.  
  808.  
  809.  
  810.  
  811.    4DOS 3.02  [9-7-90]           UPDATE30.DOC                       page 14
  812.  
  813.  
  814.    HELP System
  815.    -----------
  816.  
  817.    This section describes changes made to the 4DOS HELP system.
  818.  
  819.       New Capabilities and Topics:
  820.  
  821.    3.01   There are many corrections and additions to the text, including a
  822.           complete ASCII table.
  823.  
  824.    3.01   A new "soft pagination" capability enables many commands to be
  825.           displayed completely on one screen if using more than 25 lines,
  826.           but paginates in a logical spot if using a 25-line screen.
  827.  
  828.    3.01   HELP is now DESQView-aware and should run properly in a less than
  829.           full screen DESQView window.
  830.  
  831.    3.01   HELP now accepts up to 16 pages per topic and 32 cross-references
  832.           per topic, to allow 4MAKE users to install longer topics inside
  833.           the help file.
  834.  
  835.    3.02   The text has been modified in many places.  An ANSI table has
  836.           been added along with the APPEND, FASTOPEN, GRAPHICS, KEYB,
  837.           NLSFUNC, RECOVER, and REPLACE commands, and more information on
  838.           HELP itself.  The explanations of JOIN and SUBST are more de-
  839.           tailed.  All resident commands now show their DOS 3.3 resident
  840.           size.  Several minor typographical errors have been corrected.
  841.  
  842.  
  843.       Environment Variables and Switches:
  844.  
  845.    3.02   HELP has two switches which can be set temporarily on the command
  846.           line (in version 3.02), or "permanently" -- until explicitly
  847.           changed -- via the 4HELPC environment variable (see below).  When
  848.           switches are set on the command line they can be placed before or
  849.           after the topic name (if any), so for example these two commands
  850.           are equivalent:
  851.  
  852.                     help copy /r
  853.                     help /r copy
  854.  
  855.           The switches are:
  856.  
  857.    3.02       /BW:  Forces HELP to display all text in monochrome colors,
  858.               to support the use of monochrome monitors attached to color
  859.               video boards (e.g. use of a composite monochrome monitor on a
  860.               CGA system).  If you have such a system you will probably
  861.               want to set the /BW switch permanently as shown under 4HELPC
  862.               below.
  863.  
  864.    3.01       /R:  Disables dynamic window resizing and forces all text
  865.               screens to be displayed at the full screen height for those
  866.               who prefer an unchanging display window size.
  867.  
  868.  
  869.    4DOS 3.02  [9-7-90]           UPDATE30.DOC                       page 15
  870.  
  871.  
  872.    3.01   Three new environment variables have been added to give you bet-
  873.           ter control over HELP:
  874.  
  875.               4HELP:  Specifies the full path and file name for the help
  876.               program to be loaded when F1 is pressed.  If 4HELP is not
  877.               used, 4DOS will look for HELP.EXE in the current directory
  878.               and then on the PATH.  4HELP affects only F1, NOT the HELP
  879.               command; if you need to change how the HELP command works as
  880.               well, use an alias.  
  881.  
  882.               For example, if your HELP files are in the directory
  883.               D:\4DOS\HELP you will need the following lines in
  884.               AUTOEXEC.BAT:
  885.  
  886.                     set 4help=d:\4dos\help\help.exe
  887.                     alias help d:\4dos\help\help.exe
  888.  
  889.               4HELPF:  Specifies the full path and file name for the help
  890.               text file.  If not used, HELP will search for DOS.HLP in the
  891.               directory specified in 4HELP (if any), then in the current
  892.               directory and on the path.
  893.  
  894.               4HELPC:  Specifies permanent control switches for HELP.EXE. 
  895.               More information on switches is above.  For example, to per-
  896.               manently force HELP into monochrome mode, place the following
  897.               line in AUTOEXEC.BAT:
  898.  
  899.                     set 4helpc=/bw
  900.  
  901.  
  902.       Configuring HELP with HELPCFG:
  903.  
  904.           The HELPCFG.EXE program, provided with 4DOS, can be used to con-
  905.           figure the help system display colors.  To use it, change to the
  906.           directory HELP.EXE is in, be sure HELPCFG.EXE is in the same
  907.           directory, and enter the command:
  908.  
  909.                     HELPCFG
  910.  
  911.           HELPCFG allows you to set the colors for several different por-
  912.           tions of the help display.  Use the vertical arrows to select
  913.           which type of display color you wish to adjust.  Hit <cr> and you
  914.           will be able to move a box in the left-hand window to select the
  915.           color.  Hit <cr> again to select the color, or Esc to return to
  916.           the right hand window without changing the color.  Another Esc
  917.           will save the new colors and return you to DOS.
  918.  
  919.           If you are using a monochrome monitor on a color system and re-
  920.           quire HELP's /BW switch for proper displays, you may not be able
  921.           to change the monochrome display attributes easily with HELPCFG,
  922.           which does not currently have a /BW switch.  This will be changed
  923.           in a future release of 4DOS.
  924.  
  925.  
  926.  
  927.    4DOS 3.02  [9-7-90]           UPDATE30.DOC                       page 16
  928.  
  929.