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.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.


-----------                                                 ---------------
{COMMO} 5.0                                                 August 28, 1991
-----------                                                 ---------------

Support File changes since last release
---------------------------------------

Changes are required to the Configuration File and Macro File.  Some changes
may also be needed in your Dialing Directory.  Read the sections below
carefully and also the appropriate sections in COMMO.DOC and MACRO.DOC (now a
separate Macro Programming Guide).


Configuration File
------------------

The Config File has been replaced with a keyworded Setup File.  This means
that items may be in any order and may vary in number.  In the future it will
only be necessary to add new items if the new features are desired.

New items in this release include:

 {ddp=2400,8n1,1,A,0}   Default Dialing Parameters
 {min=yes}              Send Modem Init String (yes/no)
 {mac=initmac}          Startup macro label
 {sts=yes}              Status Line on (yes/no)
 {ers=yes}              Make sounds on errors/warnings (yes/no)

Plus any number of SET items to set string variables.

Keep in mind that the Setup File is only processed at startup.  It may be
edited with the Alt-G command, but the changes do not take effect until the
next time {COMMO} is started.  A new command "[Alt-T]  Set Toggles" has been
added to allow changing many toggle parameters without affecting the permanent
setup.


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

A set of Default Dialing Parameters (separate from the Current Terminal
Parameters) is now maintained by {COMMO}.  These parameters are set whenever a
number is dialed unless overridden by a parameter string in the Directory
entry.  They may be changed in the "[Alt-P]  Set Terminal Parameters" window
or with the DPARms macro function.

The telephone number field can now have variables to be used as additional
prefixes, suffixes or any other way that you can think of.  Read the Dialing
Directory section in COMMO.DOC if you need to use this feature.


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

The PgUp and PgDn keys are now used to bring up new Upload and Download menus.
If you need to use these keys for full-screen editing, change the key-labels
in the menus (use F6 in the editor to scroll to the right).

You can now define and use string variables within all macro functions.  Read
the section "Programming {COMMO} Macros" in MACRO.DOC for complete details.

Macro-id's are now called Macro Labels.  They may be any number of characters
of which the first eight are significant and they must be preceded by a colon.
For example:  {:label}.  Key-id's are now called Key-labels and must have a
colon, also.  See MACRO.DOC for details.

A new feature, called Function Switches, allows you to add modifiers to
certain function names to change the action of the function.  The list of
functions in Online Help shows which functions may have switches.  Here are
some examples:

    {asci-e file,xyz}           ASCII Upload, expand blank lines
    {asci-s0 file,xyz}          ASCII Upload, do not strip linefeeds
    {exec-d c:\util\dsz.com}    Direct EXEC

All of the "%" parameters in the EXEC function have been eliminated.  Some
have been replaced with string variables, others with switches.  And instead
of "%i" you must now use the new INPUt function prior to the EXEC.

These macro functions have been deleted:  CONFig, DELAy, EXED, EXEN, TERMinal.

New macro functions are as follows:

    ABAUd               This replaces the former AUTObaud.
    AUTOreceive         Set/reset Auto Receive strings.
    COMPare             Compare strings, set conditions.
    DECRement           Subtract from a numeric variable.
    DPARms              Set Default Dialing parameters.
    EDIT                Edit an external file.
    ELAPse              Reset the elapsed timer to 0.
    GETString           Get a string from the modem.
    HFLOw               Toggle Hardware Flow Control.
    IFCOndition         Test conditions set by COMPare.
    INCRement           Add to a numeric variable.
    INPUt               Input a string from the keyboard.
    INSTring            Find a string within a string.
    LENGth              Determine the length of a string.
    RCLOse              Close the read file.
    READ                Read from a disk file.
    ROPEn               Open a file for reading.
    RXMOdem             Receive a file using Xmodem.
    SETEsc              Set a label to GOTO when Esc is pressed.
    SETGet              Set parameters for GETString.
    SETVariable         Assign a string to a variable.
    SFLOw               Toggle Software Flow Control.
    SPOCtrl             Serial port output control.
    SUBString           Extract a substring from a variable.
    SXMOdem             Send a file using Xmodem.
    TOGGles             Open Set Toggles window.
    WCLOse              Close the write file.
    WOPEn               Open a file for writing.
    WRITe               Write to a disk file.

Since there is no longer a specific item in the Setup File for upload path
(this is now a user-defined variable), the ASCII Upload window will not
normally show a path in the input field.  You can put in any path you like now
by using the macro:

    {:ala} {asci %uldir%\,:}     Use any path or variable.

Notice the "\" after the path variable.  This indicates to bring up the window
with the path displayed in the input field.

When a macro is running, messages from functions (such as LOOKfor, PAUSe,
etc.) will now be displayed on the left side of the Status Line.


General
-------

{COMMO} now has internal Xmodem.  This is provided for convenience and can
also result in reduced memory usage.  It supports 128 byte or 1k blocks and
CRC or checksum modes.

A new key command "[Alt-T]  Set Toggles" allows changing many toggle
parameters without changing the permanent setup.  The following individual
toggle key commands have been eliminated, but may be restored using macros:

        Alt-3   Master Sound toggle
        Alt-4   AutoBaud toggle
        Alt-5   Local Echo toggle
        Alt-0   Signal Lights toggle

The F1 key is now used for Online Help throughout the program.  To make this
consistent in the Internal Editor, the F1, F2 keys to type curly braces have
been changed as follows:  F2 now types left and right braces alternately (it
is reset to left brace when you move to a new line).  F9 and F10 will type
left and right braces, respectively.  And F7 is now the key to bring up the
Color Chart.

Alt-U is now used for the Utility Menu.  Multi Number Dialing is now started
using Alt-N in the Terminal Screen and in the Dialing Directory window.

Online Help now requires fewer keypresses to get to a topic.  Just press the
new two character topic code (no Enter necessary).  Also the "keys" in the
topic separators are now "T" followed by any character.  So if you add your
own topic, say "TX", you can bring it up by typing "TX" in the Help window.
You can also use the macro function {help x}.

Support has been increased for blind users with speech synthesizers.  Many
prompts and error messages are now displayed through the BIOS when the "BIOS
Terminal Screen and errors" option in the Setup File is set to "yes."

The "Other copy of {COMMO} running" message was being erroneously displayed
after some ill-behaved programs were run.  I have added an additional check to
guard against this.

The window with the question "Initialize modem?" has been removed.  An item
has been added to the Setup File in its place:  {min=yes/no}.  You can also
use the command line switch: "/iy" or "/in" to override this setting.

Using an "=" in command line switches is no longer permitted.  So if you have
a "/i=y", you must change it to "/iy".

Some new command line switches have been added.  These override Setup File
items where applicable.  Here is a summary of all command line switches:

  /iy, /in              Initialize, don't initialize modem.
  /:label               Startup macro.
  /sfilename            Alternate Setup File.
  /dfilename            Alternate Dialing Directory file.
  /mfilenmae            Alternate default Macro File.
  /knn                  Size of Scrollback Buffer in kbytes.

A new search function has been added to the file windows.  In addition to "S",
search for string from top of file, and "A", search again from top of page,
there is now "D", search for a new string from top of page.  The corresponding
function in the Internal Editor is "Alt-D".

You can now navigate in a triangle among the Macro Processor, Scrollback and
Dialing Directory windows without having to exit to the Terminal Screen.

There is a new input line editor for entering search strings, manual phone
numbers, pathnames, etc.  Keys supported are:  right/left arrow, home/end,
backspace, insert/delete and Alt-Y (clear input field).

An "*" next to the column number in the Internal Editor indicates that the
file has outstanding changes.

A count of characters received from the serial port appears in the upper left
hand corner of all full-screen windows.

The wrapping of the last screen column in ANSI-BBS emulation has been changed
to conform to the method used in VT102.  I.e, the cursor will not wrap on the
last column until another character comes in.  This prevents double-spacing
when lines are exactly as wide as the screen.

I have stopped using the BIOS for serial port initialization.  There were too
many non-compatible BIOS's.  PCjr users will have to specify Com2 now if the
internal modem is not installed.


                               -end-
