Recent Revision History
-----------------------

This file contains a list of changes to the current release and also to
several recent releases.  If you have used {COMMO} before, please make sure
you are caught up on all the changes and improvements.

See the file READ.ME for important announcements and {COMMO} product
information.


-----------                                                 -------------
{COMMO} 5.3                                                 June 20, 1992
-----------                                                 -------------

Bugs fixed
----------

Changes in carrier detect or CTS that occurred while a protocol driver was
running in the Shell to DOS (or EXECute) were not being seen by {COMMO}.

If the Status Line was set to "no" in the Setup File, no text would display on
the bottom line (this worked properly when the Status Line was turned off with
Alt-T or with the STATus macro function).

If the Capture Mode was switched from SCREEN to FILTER or RAW at the same time
that the Capture File name was changed (using the Capture File Options
window), the current Terminal Screen was being saved to both files.  It should
not have been saved to the new file.

A workaround has been implemented for the OS/2 bug that causes the timers to
behave strangely.  You should also have OS/2 configured to enable the hardware
timer.


New Features
------------

See COMMO.DOC and MACRO.DOC for more details on all new features.

1) Several new internal file transfer protocols have been added.  These
   include Ymodem Batch, Ymodem-G Batch and Xmodem-G.  The batch protocols
   allow multiple files to be sent or received.  Transmitted files may be
   specified with DOS wildcard characters (*,?) or listed in an indirect file
   ("@" file).  Received files will be named automatically (the name is
   supplied from the sending system).

   The "G" protocols are very fast streaming versions of Xmodem and Ymodem
   that may be used with error-correcting modems or on direct connections
   between computers (using a "null modem" cable).

   A new function switch "Y" has been added to the Xmodem (and the new Ymodem)
   functions.  It tells {COMMO} to force overwriting if a file being received
   already exists.  "Y0" (the default) will disallow overwriting.

2) Some new facilities have been added to Multi Number Dialing.  These allow
   you to determine more precisely the outcome of each dial operation --
   successful or not.  The additions include two new reserved variables: _dtc,
   the termination code and _dialrt, the modem response text.  See the DIAL
   function in MACRO.DOC for details.

   There is now a separate set of modem response strings for the inter-dial
   delay.  This is especially useful for recognizing a RING response (incoming
   call).  A macro can be defined to process this result.

   A new macro function, SETDial, can be used to change the timeout values for
   the dialing cycle and the inter-dial delay.

3) There is now a Swap to Disk feature.  The Swap File is specified in the
   Setup File.  Swapping may be done on EXECute or SHELl functions by using
   the "S" switch.  For example:  {exec-s dsz ...}.

4) You can now control the formats for the date and time.  Two new Setup File
   items allow you to specify the order of the month, day and year, and to
   specify 12 hour or 24 hour format.  For example:

     {dat=mdy}          Order of date parameters (m=month,d=day,y=year)
     {tim=12}           Time format (12/24 hour)

   These will take effect anywhere the full date and time are used.

5) MULTiply and DIVIde functions have been added to the macro language.  Note
   that these functions and the existing macro functions INCRement and
   DECRement now return the string "ERROR" if the operands or results are out
   of range.  This is different from previous releases and may impact your
   macros.

6) DTR and RTS can now be controlled directly with the new SIGNal function.
   For example, {signal-d0r1} will turn DTR off and RTS on.

7) Serial port input can now be stopped during all disk accesses.  This is
   necessary if characters are dropped when the disk (hard or floppy) is
   accessed.  The symptoms include missing characters in Capture Files and
   CRC/csum errors, even on clean phone lines.  If you have this problem try
   setting {sld=yes} in the Setup File.  This feature is effective only when
   used with modems (or null modem cables) that support Hardware Flow Control
   (RTS/CTS).

8) A new Setup File item under "Video and Chat Mode" allows you to configure
   the graphic characters used in the display windows.  These include the
   box-draw characters and others.  This is provided mainly for compatibility
   with display boards used in certain countries.  Details are in COMMO.DOC,
   Setup File item  {gdc=...}.


Improvements
------------

Support has been added for IRQ 8 to 15.  These are specified in the Setup
File.  For example: {com=3,338,10}.

The size of the String Variable Space is now configurable with a command line
switch "/v".  It may be set to any value in bytes from 512 to 65535.

You can now press "T" for more time during the inter-dial delay.  The timer
will be reset to its initial value just as it is with the dialing cycle timer.
The spacebar also functions in the inter-dial delay, allowing you to cycle the
dialing attempt.

Trying to close a read or write file (RCLOse, WCLOse) that is not open will no
longer produce a Macro Error (the request will be ignored).

A null path in an IFEXist function will no longer produce a Macro Error (the
not-exist branch will be taken).

Most small display windows (Capture File Options, Xmodem, dialing, etc.) have
been re-formatted to fit into 40 columns in the HP 95LX version.


-----------                                                -------------
{COMMO} 5.2                                                March 7, 1992
-----------                                                -------------

Bugs fixed
----------

In VT102 emulation, when the Terminal Screen scrolled up one line, the fill
attribute (color) of the new bottom line was the current attribute instead of
the default.

When Alt-G was pressed and there was not enough memory to edit the Setup File,
the resulting Macro Error was improperly handled.

The INPUt function prompt was speaking twice on speech boards.

Received characters were repeating and transmitted characters were being lost
on the HP 95LX (mostly at 300 and 1200 bps).  This was due to the non-standard
serial port on the 95.  A fix to the HP 95LX version of {COMMO} has cured the
problem.


New Features
------------

See COMMO.DOC and MACRO.DOC for details on all new features.

Translate Tables have been implemented to change any incoming character to any
other character (or ignore it) and to change any outgoing character to any
other character.  These tables are supported by new items in the Setup File,
{rtr=} for receive translation and {str=} for send translation, and by the new
macro functions, RTRAn and STRAn.

You can now specify a macro to execute when carrier detect is lost.  This can
be defined in the Setup File, with {ncr=}, or with the new macro function
NOCArrier.  This only works when no macro is running and when no command
window is open (such as Dialing Directory, Capture File Options, etc.).

A new macro function, CALOok, similar to GOLOok, enables you to specify a
label to RETUrn to after processing.  This is similar to using the PUSH
function, except that it applies to each CALOok individually.  Thus you can
write:

        {calook aret,aaa,Now is the time}

    When the string "Now is the time" comes in, "aaa" will be CALLed with the
    return location set to "aret."  When "aaa" does a RETUrn, control will go
    to "aret".

A new macro function, SPDCtrl (Serial Port Display Control), will prevent
incoming data from displaying to the screen.  DISPlay, LOOKfor and RAW/FILTER
capture still work normally.  This can be used when a "clean" display is
desired during automated procedures.

A new Terminal Emulation option is available in the HP 95LX version.  "H" will
force terminal lines to wrap at 40 columns instead of 80.  The emulation is
otherwise the same as TTY.


Improvements
------------

The serial port input buffer is no longer cleared following an EXECute that
was triggered by an Auto Receive string.  Multiple triggering is still
disallowed until the EXECute (and any associated wait) is finished.  This will
prevent information from being lost (such as the next prompt from the host
system).  The entire trigger string will now appear on the screen.

The Internal Editor will no longer strip blank lines at the end of a file.

The SXMOdem handshaking has been speeded up when the receiver is ready.

In the .DOC files, control characters in strings, such as "^M", are now said
to be "converted" (to their ASCII equivalent) rather than "translated."  The
word "translate" is reserved for the new Translate Table feature.


-----------                                              -----------------
{COMMO} 5.1                                              December 21, 1991
-----------                                              -----------------

Bugs fixed
----------

If Esc was pressed after using SETEsc with the -P0 switch, random characters
and colors would sometimes appear on the screen.

Under certain circumstances, a LOOKfor could be triggered by a previously
received Auto Receive string.  This was sometimes happening during dialing,
causing the Linked Macro to fail.

Xmodem would sometimes get "stuck" on noisy lines.


Setup File
----------

There are several new items.  Add these to your Setup File if you need to use
them (they are included in the new example Setup File):

   The ENQ/ACK terminal protocol is now supported.  If your host requires
   this, add this item:

     {enq=yes}              Answer ENQ with ACK (yes/no)

   Auto Receive string for the new HS/Link protocol:

     {aut=phbr,^bR}         Auto Receive, HS/Link

   Name of your Omen Technology program.  All of the example DSZ macros have
   been changed to use this variable:

    *{set dszprog,DSZ.COM}        Name of program in DSZ family that you
                                    have (DSZ.COM, GSZ.EXE or DSZ.EXE)


Dialing Directory
-----------------

You can now include variables with each Dialing Directory entry.  The
variables will be set just before a directory entry is dialed.  Any items in
curly braces beyond the first four should be in the format: {name,string}.  Be
sure the first four items are present (even if null).  See "Alt-D  Dialing
Directory" in COMMO.DOC for details.

Dialing results will now be suppressed between dialing attempts and after
cancelling a dial-in-progress.  This eliminates most occurrences of NO CARRIER
when Esc is pressed during dialing.


Macro Processor
---------------

You can now set a {COMMO} variable equal to any environment variable.  Use the
-E switch on the SETVariable function.  For example:  {setv-e xyz,PATH}  will
set "xyz" to the DOS path string.  The environment variable name is case
sensitive (they are usually upper case).  See the new writeup of the SETV
function in MACRO.DOC.

The new Macro File has a variable in place of DSZ.  Now you can define
"dszprog" in the Setup File as DSZ.COM, GSZ.EXE or DSZ.EXE and that program
will be used for all Zmodem and Ymodem macros (in the MOSTHOST, too).

There are three new built-in variables:

        _nci            Number of characters in input buffer
        _row            Current cursor row
        _col            Current cursor column

The GETString function will now allow you to "append" to a variable.  Just use
the -A switch and characters will be appended to the current variable.

A -C switch has been added to the POPStack function.  This will clear all
elements from the stack.

The "W" switch on EXECute, RXMOdem and SXMOdem has been modified to include a
"timed wait."  For example  {exec-w3 dir}  will wait three seconds before
restoring the Terminal Screen.  {exec-w dir}  will wait indefinitely.  Note
that "w1" will wait one second now, while "w0" will not wait at all.


General
-------

Setup File and Macro File support has been added for the new HS/Link protocol,
including bi-directional transfers.

The F2 key in the Internal Editor now has "intelligence."  It will always
enter the correct brace.  Try it!  F9 and F10 are no longer used.

More items will now "speak" when the Speech Friendly Interface is on.  These
include window titles, selections in the Alt-T window and status messages in
the Xmodem window.

Alt-F5 is no longer used for Doorway Mode on the HP 95LX.  Use Alt-= instead.


------------                                               ---------------
{COMMO} 5.01                                               October 2, 1991
------------                                               ---------------

Bugs fixed
----------

The IFEXist function was sometimes causing corruption of a few bytes in
memory.  This was sometimes seen as "garbage" in the Macro File and may have
been responsible for other unpredictable results.

A "%" could not be used before the variable in the GETString function without
causing variable substitution to occur (this should normally require "%%").

The test to differentiate between the dialing result codes CARRIER and NO
CARRIER didn't work.  Now you can use "CARRIER " (with a space) and the speed
will be recorded properly in the Usage Log.  Using "^jCARRIER" will not work
since no character translation is done on the response codes.

The SETEsc function would not always work when Esc was pressed and "yes" was
answered.  The macro would STOP instead of going to the label.

The Setup File keywords were not accepted if they contained upper case
characters (upper or lower should have worked).

The Hangup command has been improved by delaying before dropping DTR.  This
seems to work better with certain modems.


Macro Processor
---------------

Day of the week built-in variables have been added.  Use _dwn for the single
digit numeric form: 1=Monday,...,7=Sunday.  Use _dwt for text form: Mon,
Tue,...

The GETString function now has a "P" switch for Password Mode.  In this mode
asterisks will be echoed in place of the characters received.  This also means
that backspace editing is supported during password input.

The INSTring function can now be used on built-in variables such as _pas,
_dat, etc.

There is now a "P" switch on SETEsc.  "P1" or "P" (default) prompts the user
when Esc is pressed.  "P0" goes to the label without prompting.  You can also
reset the SETEsc label so that the macro will STOP when Esc is pressed.  Just
use SETesc with no argument:  {setesc}.

The SEND and MARK functions can have null arguments now without causing a
macro error (they will do nothing).


General
-------

The BIOS terminal screen option (keyword BTS) in the Setup File has been
replaced with Speech Friendly Interface (keyword SFI).  Visually impaired
users with speech boards should note this change.  When this option is set to
"yes" the Terminal Screen and other messages will "talk."  Also, the up and
down arrow keys now move the cursor instead of scrolling the screen in windows
like Online Help, Scrollback and Variable Space.

The Host Mode macro, MOSTHOST.MAC, has been improved.  It should answer the
phone properly with all modems now (make sure you check the configuration
items at the top of the macro).  It uses the new password switch in GETString
so that backspace editing can be done.  It does not allow overwriting
files in the standard file upload directory.  And it is much faster starting
up and terminating.

The Master Sound indicator, now "N",  has been restored to the Status Line
toggles.


                               -end-
