RBcomm v3.41 -- list of changes since v3.41

Mostly bugfixes--that'll teach me to try to release five packages on the
same day! :-)

1. RBCONFIG would abort with an "out of memory" error when attempting to
   interactively edit the dialing directory.  Fixed by combining two menus
   to slightly reduce the size of the executable (my personal copy had
   worked because it was compiled with 80186 code, which had saved nearly
   500 bytes).

2. WAITFOR and WHEN would fail when parity stripping was enabled.  Fixed.

3. The macro compiler would sometimes generate spurious error messages
   when compiling multiple files, because the key definition table was not
   being cleared.  Fixed.

4. SENDFILE got broken by the change in how file transfer commands are
   specified.  Fixed.

One minor new command has been added:

	STRIP_PARITY ON|OFF
		Specify whether RBcomm should strip the parity bit.

There is still one known bug for which I do not yet have a fix:

	OPEN_LOG will execute a BREAK when inside a MULTI.  The workaround
	is to use #defkey to put the OPEN_LOG on a "key" of its own and
	call that macro instead.


------------------------------------------------------------------------

RBcomm v3.40 -- list of changes since v3.31

If you have been using RBcomm v3.36 or earlier, you will need to
recompile all of your macro files, as the internal structure has changed.
However, no harm will result if you forget to do so since RBcomm v3.1+
will complain on outdated macro files.

------------------------------------------------------------------------
See RBCOMM.DOC for full details on the following:

Removed macro commands
----------------------

    UI_MENU  (use LOAD_MACRO "" instead)
    SAVE_MACRO
    AUTO_ZMODEM (alias for AUTO_XFER)

Changed macro commands
----------------------

    DISPLAY "msg"
	The message now undergoes variable expansion.

    EXIT errorlevel
	"errorlevel" added

    LEARN
        no longer asks which key to bind.  The learned string is always
        sent by the RECALL command, bound to Alt-N in the default
        keybindings.

    LISTDIAL "list"
	if "list" is empty and numbers remain from a previous multi-number
	dial, the previous list is automatically presented as the default.
	The list is no longer a single character per entry to be dialed,
	but rather a list of entry numbers separated by commas or blanks.

    MESSAGE row col "msg"
	The message now undergoes variable expansion.

    MESSAGEBOX "msg"
	The message now undergoes variable expansion.

    NOTIFY "msg"
	The message now undergoes variable expansion.

    SOUND freq dur
	make a tone of the specified frequency in Hertz for the specified
	duration in clock ticks.

New macro commands
------------------

    ALARM
	execute the macro bound to the Alarm pseudo-key, or the BEEP command
	if Alarm is not bound.

    AVATAR on|off
	enable/disable AVATAR emulation commands.

    DVEXEC on|off "DVPcommand"
	execute a program in another DESQview window, optionally disabling
	serial port handler and waiting until other program terminates.

    EXPAND_BLANK on|off
	specify whether the TYPE command expands completely empty lines to a
	single blank.

    LTRIM CUTBUFFER "trimchars"
	remove "trimchars" from the beginning of the cut buffer.

    MUSIC on|off
	enable/disable ANSI music for the ANSI-BBS terminal emulation.

    PLAY "music-string"
	play the notes specified by the string.

    RBCOMM_CMDS on|off
	enable/disable RBcomm's private terminal commands.

    RECALL
	transmits the last string entered with the LEARN command to the
	remote system.

    RTRIM CUTBUFFER "trimchars"
	remove "trimchars" from the right end of the cut buffer.

    SOUND freq dur
	make a tone of the specified frequency in Hertz for the specified
	duration in clock ticks.

    TFLUSH
	discard any unsent characters still pending in the transmit queue.

    TRIM CUTBUFFER "trimchars"
	remove "trimchars" from both beginning and end of the cut buffer.

New pseudokeys
--------------

     Alarm	action(s) to perform on connecting to a remote system,
		completing a file transfer, and executing the ALARM macro
		command

     AutoDL     set up autodownload/autoupload triggers and actions

     #download_x  overrides command string for downloading with protocol 'x'

     #upload_x	overrides command string for uploading with protocol 'x'

New variable expansions
-----------------------

     %F 	insert files to be transferred (or transfer parameters)
		only valid in file transfer command strings
     %/ 	insert slash unless preceded by slash or backslach
     %\ 	insert backslash unless preceded by slash or backslash

New commandline options (not case-sensitive)
--------------------------------------------

     -B 	use BIOS calls to display characters received from the serial
		port


New environment variables
-------------------------

      n/a


------------------------------------------------------------------------

The dialing directory may now contain up to 250 entries.

Puma autodownload is no longer enabled by default.

The DESQview mouse pointer is now hidden while inside the RBcomm window.

RBcomm now supports 115200 bps.

File transfer commands are no longer built up from pieces which basically
assume the use of DSZ, but are instead given in full, permitting the use
of a different program for each protocol (if desired).

------------------------------------------------------------------------

The macro compiler no longer decompiles previously-compiled macros.  As
a result, the commandline format has changed.

Usage: MACRO srcfile [srcfile ...]
Compile each source (text) file to an RBcomm macro file with the extension
.RBM.  If no extension is given for a source file, the default extension
.MAC is used.

------------------------------------------------------------------------

The RBcomm private emulation commands have been switched around
somewhat to accomodate full-time AVATAR availability:

    ^R (clear rest of screen) is now "start reverse video" (formerly ^V)
    ^U now cancels both underline and reverse video
    ^V is now the Avatar command character in all emulations
    ^W (cancel reverse video) is now delete character (formerly ^Y)
    ^Y is now "repeat character" in all emulations
    ^F5 is now "clear to end of screen" instead of "repeat character"
