home *** CD-ROM | disk | FTP | other *** search
-
- JP Software
-
- 4DOS Update Documentation
-
- Version 4.01 -- June 8, 1992
-
- Copyright 1988 - 1992, JP Software Inc., All Rights Reserved. Published
- by JP Software Inc., P.O. Box 1470, E. Arlington, MA 02174 USA, (617)
- 646-3975.
-
- This file provides a list of changes in 4DOS version 4.01. If you are
- new to 4DOS with version 4.01, you can skip this file and begin with the
- printed 4DOS Reference Manual supplemented by the MANMOD.DOC file, or
- with the up to date ASCII manual in the file 4DOS.DOC.
-
- At the end of this file there is information about some of the major
- changes made between 4DOS versions 3 and 4. You should review this
- information if you are upgrading from 4DOS version 3 to version 4.01,
- and have never used 4DOS 4.0.
-
- Some of the descriptions below may be more detailed than you need; if
- you aren't using the feature described, feel free to skip through to the
- next item!
-
- Probably most of the changes in version 4.01 won't affect you. For
- changes which affect or are likely to be useful to most users, look for
- the dew changes marekd with a "**" below. All changes without a "**"
- are more technical or less important; you can skip them unless you are
- trying to solve a specific problem, or looking for changes which may
- affect your batch files, aliases, or another specific feature you use.
-
- This file is formatted at 58 lines per page, and contains form feeds and
- page footers. It can be viewed with a file viewer such as the 4DOS LIST
- command, or printed on most PC printers using the command:
-
- copy readme.doc prn
-
- Printing it with a program that formats the pages is not likely to work
- due to the formatting included in the file.
-
-
-
-
-
-
-
-
-
-
-
-
- (6/92-4.01A)
-
-
-
- 4DOS 4.01 [6-8-92] UPDAT401.DOC page 1
-
-
-
- 4DOS 4.01 Change List
-
-
- General Features
- ----------------
-
- ** Include lists can be up to 255 characters long (the previous limit
- was 79 characters).
-
- ** External applications can now be invoked with extended parent
- directory names ("...\appname").
-
- ** Drive changes will now save the old drive and directory so it can
- be retrieved with a "CDD -".
-
- A new 4DOS.INI directive, DescriptionMax = nnnn, now controls the
- description length limit for DESCRIBE (the previous limit was fixed
- at 40 characters). This will provide better support for 3rd-party
- description editors which support longer descriptions. The default
- for DescriptionMax is 40 characters; the allowable range is 20 to 120
- characters. DESCRIBE will also allow editing of descriptions longer
- than DescriptionMax, but such descriptions cannot be lengthened.
- Descriptions displayed by DIR and SELECT are truncated at the screen
- width, with a right arrow at the end if the full description doesn't
- fit on the screen.
-
- Lines in SET /R and ALIAS /R files, and aliases and variables edited
- by ESET, editing lines can all be up to 511 characters long.
-
- The "Cancel batch file?" prompt is now sent to STDERR rather than
- STDOUT, in case batch output is redirected.
-
- Prefacing an external command with a '@' will remove the old value of
- CMDLINE from the environment. For folks who want to keep the
- environment small when loading TSRs.
-
- KSTACK has been rewritten with a different internal implementation.
- The external use is the same for both users (the KEYSTACK command)
- and programmers (the API for KSTACK). The new version will not eat
- up CPU time in DESQview windows the way the old one did. Also some
- minor problems have been fixed, and KSTACK now releases its
- environment block at startup.
-
- 4DOS now displays the true INI file name when an error occurs
- (previously "4DOS.INI" was displayed reagrdless of the actual name).
-
- Variable expansion will now work when the variable is within an alias
- and is embedded in the first item on the line. For example:
-
-
-
-
-
-
- 4DOS 4.01 [6-8-92] UPDAT401.DOC page 2
-
-
- c:\> alias mycopy=copy /r
- c:\> set xx=py
- c:\> myco%xx file1 a:
-
- will copy file1 to drive A:, and prompt if the destination file
- already exists.
-
- Added a new 4DOS startup switch, /K. This switch does nothing, but
- all text after it is treated like a command, so using "/K command" at
- the end of the 4DOS command line is equivalent to including the
- "command" without /K. This is equivalent to the 4OS2 /K switch, and
- is included for compatibility with the version of COMMAND.COM
- distributed with OS/2 2.0. You can use either /K or /C before the
- command, but not both.
-
- Several internal changes were made to provide better support for
- using 4DOS in OS/2 2.0 DOS sessions.
-
-
- Internal Variables and Variable Functions
- -----------------------------------------
-
- %_DISK no longer generates a physical disk access.
-
- %@ASCII[] now checks for an escape character preceding the actual
- character to process. This allows quotes and other special
- characters as the argument (eg %@ASCII[^X`]).
-
- %@FILESIZE now returns -1 on a non-existent file.
-
- %@SELECT now supports input from CON (standard input).
-
- Changed %@WORD to disable the / as a separator; now it will only use
- spaces, tabs, and commas.
-
-
- Commands
- --------
-
- ** ATTRIB: Now has a /P(ause) switch to make it easier to display
- attributes for groups of files.
-
- CALL: Now returns an exit code (%_?) which matches the batch file
- exit code. This allows the use of conditionals (&& and ||) after
- CALL based on the batch file's exit code (eg from QUIT n) rather than
- whether the CALL command worked.
-
- COPY and MOVE: When performed from an OS/2 session, these will now
- copy OS/2 extended attributes if the target file system supports
- them. Also, /U and /R switches will now search for hidden and system
- files on the target.
-
-
-
-
- 4DOS 4.01 [6-8-92] UPDAT401.DOC page 3
-
-
- DEL: Now sets the internal error level (%_?) non-zero if no files
- were deleted.
-
- ECHOS: Output is now in binary "raw" mode (without CR to CRLF
- conversion etc.) to assist those using it to echo printer control
- strings.
-
- IF and IFF: Integer tests (i.e., "if 5 lt 12") have been modified to
- allow for - and +, so you can now test things like "if -1 lt 1".
-
- INKEY: Now translates the Enter key to its scan code (@28) to
- simplify detection of this keystroke. Previously Enter was put into
- the environment as an ASCII 13, which wouldn't display, and which
- would be discarded as whitespace when the parser expanded the
- variable.
-
- PROMPT: Has a new symbol: $r displays the return code of the last
- command. This is for compatibility with COMMAND.COM under OS/2 2.0
- which also provides this feature.
-
- SETDOS: Has a new /P switch to set the character used to specify all
- or all remaining command line arguments. The default is '&' (as in
- "%&") for 4DOS and '$' (as in "%$") for 4OS2. Use (for example)
- SETDOS /P$ to set the 4DOS character to match 4OS2. Also see the
- ParameterChar directive below.
-
- UNALIAS and UNSET: Have a new /Q(uiet) option to disable error
- messages if the alias or variable does not exist. This can be used
- to avoid annoying error messages from batch files which clear
- variables or aliases that may not be defined.
-
- VER: Now reports DR-DOS and OS/2 version numbers and revision levels
- when they are available.
-
-
- Technical and Compatibility Changes
- -----------------------------------
-
- DR-DOS: Added a DIREXIST condition (same as ISDIR) to IF and IFF for
- compatibility with DR-DOS 6 batch files.
-
- OS/2: 4DOS will now search the true boot drive (as opposed to the
- current drive) for AUTOEXEC and other similar files when starting a
- primary shell in DOS 4 and above. This should allow AUTOEXEC to run
- properly in OS/2 2.0 VDMs when starting the VDM on a drive different
- from the boot drive. Also, 4DOS changes the session title on the
- OS/2 desktop to the name of the application program when running an
- application in an OS/2 2.0 DOS session. This behavior can be
- disabled with the ChangeTitle directive (see below).
-
-
-
-
-
-
- 4DOS 4.01 [6-8-92] UPDAT401.DOC page 4
-
-
- Novell Netware: Worked around a Netware bug which allows the current
- directory to be deleted (and loses the disk mapping) when 4DOS does a
- DEL /X.
-
- The prompt interrupt (INT 2F, AX=D44E) is now issued just after a
- line is read (ie just after the CR), with BX=2. This is in addition
- to the interrupts already done with BX=0 and 1 per appendix C of the
- manual.
-
- 4DOS now allows multiple processes to redirect output to NUL
- simultaneously in multitaskers.
-
- 4DOS now generates a "4DOS internal stack overflow" error if you
- attempt to nest batch files or commands like EXCEPT, FOR, IF, IFF,
- GLOBAL, or SELECT too deep, and 4DOS runs out of stack space. In the
- past 4DOS could hang the system under these conditions.
-
- The default stack size (set via the StackSize directive in 4DOS.INI)
- has been increased from 3584 to 4096 bytes.
-
- Added the following new INI file directives. Most of these
- directives are advanced directives, and should be changed only to
- solve unusual problems or for compatibility with the indicated
- software (eg NetwareNames for Novell Netware, or ParameterChar to
- make 4DOS and 4OS2 syntax the same).
-
- ChangeTitle = YES | No: Determines whether 4DOS changes the OS/2
- session title when running an external program from an OS/2 2.0
- DOS session.
-
- CopyEA = YES | No: Determines whether the 4DOS COPY and MOVE
- commands attempt to copy extended attributes when running in an
- OS/2 1.x or 2.0 DOS session.
-
- DiskReset = Yes | NO: Enables or disables disk resets after COPY,
- MOVE, and RENAME, and before DIR. Set to Yes if you have problems
- with disk change detection on non-standard or cached floppy disk
- drives, or with network software which doesn't always properly
- flush data to the disk. However such problems are VERY rare and
- normally No is the best choice. Setting DiskReset to Yes will
- reduce the performance of DIR, COPY, MOVE, and RENAME when using a
- "staged-write" disk cache such as SmartDrive 4.0.
-
- DRSets = YES | No. When running under DR-DOS, 4DOS will normally
- retrieve environment variables created by any SET commands in the
- DR-DOS CONFIG.SYS file and place them in the 4DOS master
- environment. Set DRSets to No to disable this feature.
-
- DVCleanup = YES | No. No disables 4DOS's DESQview close window
- cleanup code and thereby reenables the Quit choice on the DESQview
- menu when at a 4DOS prompt. However this will prevent 4DOS from
- cleaning up its resources (releasing the shell number and deleting
-
-
-
- 4DOS 4.01 [6-8-92] UPDAT401.DOC page 5
-
-
- any disk swap file) when you Close a 4DOS window from the DESQview
- menu, rather than with the EXIT command.
-
- NetwareNames = Yes | NO. Set to Yes to include strings in the
- resident portion of 4DOS which Netware searches for when it loads.
- NetwareNames should be set to Yes for Netware systems to avoid
- problems with destroyed environment variables during LOGIN.
- CAUTION: If NetwareNames is set to Yes and you BOOT FROM a
- Netware drive (a rare situation), the TEMP4DOS or TEMP variables
- must be SET explicitly to the appropriate drive and directory for
- each user to avoid conflicts in the directory used for pipe files
- (if NetwareNames is not used or you boot from a local drive, 4DOS
- and Netware will automatically set the proper drive and directory
- for pipe files).
-
- NextINIFile = File. Full path and name must be specified. All
- subsequent shells will read the specified INI file, and ignore any
- [Secondary] section in the original 4DOS.INI. Intended to allow
- diskless or floppy-only workstation users to shift 4DOS.INI to a
- network drive for secondary shells, and avoid all access to the
- original boot drive.
-
- ParameterChar = c. Sets the character used to specify all or all
- remaining command line arguments. Default is '&' (as in "%&") for
- 4DOS and '$' (as in "%$") for 4OS2. Also see SETDOS /P above.
-
- UniqueSwapName = Yes | No. Set to Yes to change the disk swap
- file name from 4DOSSWAP.nnn to a unique name generated by 4DOS,
- with an extension of "4SW" (eg a1gd6nnw.4sw). This prevents
- conflicts between swap files in different shells; it is only
- necessary when using disk swapping with a COMMAND.COM primary
- shell (eg if using Software Carousel) or in an OS/2 2.0 DOS
- session. The default is Yes in OS/2 2.0 DOS sessions and No
- elsewhere. UniqueSwapName only works in DOS 3.0 and above and
- applies only to disk swapping.
-
-
- Bugs Fixed
- ----------
-
- Initialization:
-
- ** The sense of the MessageServer directive in 4DOS.INI was
- reversed.
-
- The /F startup switch did not work unless there was also a
- CritFail=Yes in 4DOS.INI.
-
- Command Line:
-
- Ctrl-D in a history window did not work properly when using
- command completion.
-
-
-
- 4DOS 4.01 [6-8-92] UPDAT401.DOC page 6
-
-
- An F8 or Shift-Tab at the beginning of a command line didn't
- preserve the trailing backslash for directory names from a
- previous F9 or Tab.
-
- Key remapping for standard ASCII keys (e.g. ListFind=S) only
- worked if upper case key was typed.
-
- Environment Variables, Variable Functions, Batch Files, and Aliases:
-
- Command grouping had a glitch when used after a conditional
- operator (&& or ||).
-
- Batch variables of %10 and larger were not expanding correctly.
-
- Variable expansion had trouble when used following a leading
- command group [e.g. (dir^memory) > %outfile].
-
- Variable expansion crashed when an environment variable argument
- was over 255 characters long.
-
- @DATE: Did not work correctly with non-US date entries (i.e.,
- yy-mm-dd or dd-mm-yy).
-
- @FILESIZE: Was not rounding properly when the k, K, m, or M units
- were used.
-
- @SELECT: Was allowing Ctrl-D but it did not work. It is no
- longer allowed. Also %@SELECT had trouble with 0-length files and
- very large (>64K) files.
-
- Commands:
-
- CANCEL: Was failing to terminate succeeding commands on the same
- line in a parent batch file.
-
- COPY: Was not handling an append of the form COPY FU+NUL FU /B
- properly.
-
- COPY and MOVE: Would lose the first description if the target
- file had a description and the source didn't.
-
- DEL: /Q was not doing a fast (FCB-style) delete.
-
- FOR: (@filename) did not work correctly with long lines (>=80
- characters). The maximum line length now is 255 characters.
-
- INKEY: /K didn't work properly with variable names over 6
- characters.
-
- LIST: /S had problems with very large (>64K) files when you hit
- an invalid key.
-
-
-
-
- 4DOS 4.01 [6-8-92] UPDAT401.DOC page 7
-
-
- MEMORY: did not display available XMS in an OS/2 2.0 VDM.
-
- MOVE: /D didn't work properly with multiple source arguments.
- Also MOVE did not preserve the read-only bit when moving a file to
- another drive.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 4DOS 4.01 [6-8-92] UPDAT401.DOC page 8
-
-
- Changes in 4DOS Version 4.0
-
- This section contains information about major changes made in 4DOS
- version 4.0. This is not a complete description of what was new in 4DOS
- 4.0 -- it only includes significant changes you may need to be aware of
- if you are upgrading from 4DOS version 3 to version 4.01, and have never
- used 4DOS 4.0. For details on any specific feature, see your manual and
- the MANMOD.DOC file. If you need a comprehensive list of changes in
- 4DOS 4.0, please contact JP Software.
-
-
- Installation and Configuration
- ------------------------------
-
- 4DOS.COM: 4DOS is now one file, 4DOS.COM. The separate 4DOS88.EXE
- or 4DOS286.EXE files in the old structure have been eliminated.
-
- 4DOS.INI: There is a wide variety of new startup options for 4DOS,
- and 4DOS configuration is now controlled through the new 4DOS.INI
- file, for both primary and secondary shells. Some switches can also
- still be set on the SHELL= line in CONFIG.SYS.
-
- UMBs: 4DOS can now load its resident portion and / or the master
- environment into DOS 5 UMBs. UMB access is requested with the
- UMBLoad and UMBEnvironment directives in 4DOS.INI.
-
- KEYSTACK: The KEYSTACK.SYS device driver was replaced by KSTACK.COM,
- a TSR (memory-resident program), normally loaded from AUTOEXEC.BAT
- (or with INSTALL= in CONFIG.SYS).
-
-
- 4DOS HELP System
- ----------------
-
- The help program was renamed 4HELP.EXE to avoid conflicts with other
- HELP.EXE programs. This program is run when F1 is pressed at the
- command line or when the HELP command is executed. The help text
- file is now 4DOS.HLP (for those with a utility disk, the ASCII text
- file is 4DOS.TXT). The 4HELP, 4HELPF, and 4HELPC environment
- variables were removed and replaced by the 4DOS.INI directives
- HelpPath and HelpOptions.
-
- The new HELP system is not compatible with the version 3.0 HELP
- system; if you have modified the version 3.0 HELP text you must
- purchase a version 4.0 Utility Disk and recompile your help text to
- use it with 4DOS 4.0 HELP.
-
- HELPCFG now supports a /M switch to force it to run in monochrome
- mode and adjust the monochrome HELP colors, even on color systems.
- Also the HELPCFG exit keys were changed to conform to general usage
- standards.
-
-
-
-
- 4DOS 4.01 [6-8-92] UPDAT401.DOC page 9
-
-
- Batch File Commands
- -------------------
-
- A few commands were changed in ways that may require you to edit your
- batch files or aliases if they use the earlier syntax.
-
- DIR Switches: Several switches were changed for DOS 5 compatibility.
- DIR now supports the DOS 5 sort order switches (/O:[-degns]), as well
- as the original 4DOS switches (/O:[eirtuz]). A byproduct of the
- switch changes is that the /A:xxxx and /O:xxxx switches CANNOT be
- followed by another parameter without an intervening slash. For
- example, you used to be able to say DIR /OEP to display the directory
- in extension order with pauses. You must now use DIR /OE/P or DIR
- /POE.
-
- IF and IFF Tests: Most of the old tests for system resources (EMS,
- XMS, DISKFREE, etc.) were moved to variable functions to make the
- information available throughout 4DOS rather than just in IF and IFF.
- In addition, some new tests were added, as well as new .AND., .OR.,
- and .XOR. conditional operators.
-
- Old IF / IFF test New Variable or Variable Function
- ----------------- ---------------------------------
- MONITOR %_MONITOR
- VIDEO %_VIDEO
- ATTRIB %@ATTRIB[filename,attrib]
- DISKFREE %@DISKFREE[d:,b|k|m]
- DOSMEM %@DOSMEM[b|k|m]
- EMS %@EMS[b|k|m]
- EXTENDED %@EXTENDED[b|k|m]
- FILESIZE %@FILESIZE[filename,b|k|m]
- XMS %@XMS[b|k|m]
-
- Include Lists: The separator character for "include lists" was
- changed from a plus sign to a semicolon. Also, while in 4DOS 3.03
- they were available only for the DIR and SELECT commands, in version
- 4.0 include lists were extended to all 4DOS file processing commands.
-
- SET: The syntax was changed to match COMMAND.COM: You MUST enter an
- '=' in a SET statement, and you may now put whitespace in the
- variable name or the argument. Also, if you enter SET VARNAME with
- nothing else on the line SET will now display the value of the
- variable, rather than removing it from the environment as it used to.
- To remove an environment variable, you must add the "=" sign to the
- end (e.g. SET VARNAME=), or use UNSET. Also note that, because
- whitespace in environment variable names and values is now preserved,
- batch files with lines like "SET MYVAR = MYVALUE" may not work unless
- they are changed to eliminate the extra spaces. Under 4DOS 3.03 this
- example would set "MYVAR" to "MYVALUE"; under 4DOS 4.0 it will set
- "MYVAR " to " MYVALUE". In addition, the new /M switch directs the
- change to the master environment, instead of the local one.
-
-
-
-
- 4DOS 4.01 [6-8-92] UPDAT401.DOC page 10
-