--------------------------------------------------------------------
 Searchlight BBS              August 1995               Version 4.5a
--------------------------------------------------------------------

Upgrade Patch
-------------
To install the patch, please copy all of these files into your Searchlight
home directory, then run the PATCH.BAT file. Follow the instructions on
your screen. (NOTE: Please delete any old versions of the program called
PATCH.EXE if you happen to have these in your home directory).


Version 4.5a
------------
Searchlight 4.5a incorporates a number of bug fixes from our previous 
release and some minor new features.

Problems from version 4.5 which are corrected in this release:

- The .RP2 file extension did not work properly for some menu files.
- The login program displayed the wrong "last call" date in RIP mode.
- The autodownload feature did not support .BMP files correctly.
- Users could save multiple logoff quotes by pressing the ESC key.
- Some ANSI file display problems still existed.
- Searchlight did not properly support recursive use of execute menus
  (i.e. an executing menu could not execute another menu).
- Local downloading for non-Sysop users did not always work because of
  an incorrect "not enough time to download" message.
- A bug in the internal 16550 FIFO chip handling procedure could cause 
  random garbage characters to appear when loading or exiting from a door. 
- Wallpaper parameters (/W switch) were not properly delt with in ANSI mode.
- The file browser scrollbar didn't work right on new files scans.
- The file browser didn't work right after deleting or moving the last
  file in a directory.
- Message reading in RIP mode was unreliable when message numbers
  exceeded 32,000.
- A bug existed when using the internal Fossil emulation with a DigiBoard.
  Searchlight would not work properly after exiting from the door.
- Forwarding a message to an internet address did not work properly under
  some conditions in 4.5.
- The ALT-V function did not set the expiration date correctly.
- A problem with the syslog.dbf file was fixed. In previous releases if a
  database program such as DBASE or Foxpro used the syslog file and wrote
  and "end of file" marker to it, Searchlight could not properly append new
  records to the file. 
- A problem with the ALIAS.DEF file processing was fixed. Previous versions 
  did not allow you to use internet addresses as part of a group name (i.e.
  an alias name that maps to two or more usernames).
- Fixed a problem that existed when forwarding a message to a combination of
  internet and local addresses. In the previous release this was not handled
  correctly (all copies would end up being forwarded to the same place).
- Directory changes were not recorded in the syslog.dbf file, even when the
  switch for logging these events was enabled.
- Callers' chat status was incorrect if the caller aborted logging off. This
  problem affects subsequent chatting and instant messages.
- In the RIP browser, the owner of a file could not delete the file.
- The new user default preferences didn't work.

In addition to these bug fixes, we are introducing two changes that allow 
you to have more control over menu branching. The first is the addition of a 
nonstacked menu option. By default, when Searchlight transfers control from 
one menu to another (for example, from the Main menu to the Options menu) it 
saves the name of the old menu on a stack. This is what enables the "Exit to 
previous menu" command (internal command #1) to work.  

Sometimes it is desirable to load a new menu without saving the old menu on 
the stack. For example, you may have a series of menus and wish to switch 
between them without exiting to a prior menu; or you may wish to offer
branches between otherwise unrelated portions of your BBS. With 4.5a you
can set a flag when loading a new menu to indicate that you do not wish to 
stack the old menu:

  6. Menu Name ............ FILES
  7. Execution Method ..... Display
  8. Stack Menu ........... No

By setting option 8 to "No", this menu loads without saving the name of the 
old menu. If the "FILES" menu in this case contained a quit command, it 
would return control to the last menu that was loaded with the "Stack Menu" 
option set to "Yes". Note that there is no limit to the number of successive 
nonstacked menus you can load (stacked menus are limited to a maximum depth 
of 40) and also that it is permissible to have circular references within 
nonstacked menus (that is, menu A can load menu B, which can in turn reload 
menu A, as long as all the loads are nonstacked).

To compliment the nonstacked menu option, the quit command (internal command 
number 1) can take a menu name as a parameter instead of a number. When you 
use Quit with a menu name, the command quits back through the stacked menus 
until it hits the named menu. This enables you to return control to a 
particular place in your menu tree when you don't know the exact number of 
menus that are on the stack (a situation that can easily arise if you have 
menus on your system that can be reached via more than one path). Example:

  6. Command Number (1) ........ 1
  7. Command Parameters (1) .... MAIN

This command would quit back to the MAIN menu, regardless of how many levels 
of menus were loaded between the main menu and the menu containing the quit 
command. (Note: if the menu name you use in line 7 doesn't exist or isn't in 
the menu stack, then this command acts just like a regular Quit command with 
no parameter). You can still use a number as a parameter to the quit 
command, if you wish to quit back a specific number of menus, as in previous 
releases.

Finally, Version 4.5a supports the "old" version of our DOOR.SYS file
as an option so that you can use door programs that don't recognize RIP as
a graphics mode. By default, you will get the RIP version of the DOOR.SYS
file. To get the "Old" version, you need to toggle the "Parameter File" 
setting to a new value, called "DOOR.SYS 4.0". This can be set individually
for each door program. Use the 4.0 setting only with doors that will not
work properly under the standard setting.
