History file ------------ The contents of this file contains bugfix lists, changes and additions to each maintenance release of Terminus 2.0. Everything discussed here will be merged in the user manual as well for the full distribution archive. Terminus 2.0e ------------- Due to the extensive work in 2.0e this section has subdivided for documentation of bugfixes, unreproducable bugs and changes/additions to this release of Terminus. See the Readme file for information on where the program is headed in the future. Changes ------- - The Answerback string is now processed for escape sequences as it is sent. - ZMODEM Autodownload is now only active when the selected protocol is not an XPR. Bugs fixed ---------- - B+ problems during login and B+ file transfers seem to work on CIS now, I can't be 100% of this yet though... Feedback would be greatly appreciated here. - Incorrect filename data with XPR downloads. XPR file transfers should display the correct filename now. - Crashes when an invalid directory is used for downloads. Alot of work to fix this: The path requester now vaildates the existence of the pathname entered and prompts if it does not exist. If the user decides not to build the pathname at that time Terminus will reset it to the internal default. The action that occurs when a pathname string variable is assigned within a script is slightly different. In this case the user is not prompted to create the pathname. Instead, Terminus will halt the script, post an error message and restore the pathname to the internal default value. File transfers should no longer guru and should now abort gracefully if Terminus is fooled into using an invalid pathname for a transfer. - WATCHDOG command broke. Now works properly. Also, can now be used in a one-line function key macro script. - Main and review windows left in a confused state if a clip operation is in effect when the window becomes unselected. Now completes (not cancels) the clip operation by mimicking a mouse button up when the window is deactivated. - FOR without NEXT at EOF not being seen. Now displays a message if the end of the script is reached and an active GOSUB, FOR, REPEAT and/or WHILE is present (IF/ELSE/ENDIF is checked when the script is loaded). A badly written script may post one or more of these messages. However, a bell is not displayed/sounded because this condition could be "normal" from the POV of the user. - 3.x supports variable block sizes, screws up free space estimates (now uses BytesPerBlock, not data bytes). - Check screen height for console and general requesters. (now minimizes screen size, rows & cols too). - Don't close if visitors are present. (now informs user then does nothing). - phonebook comments were one character too long, trimmed down. - dialer will post which entry it has connected to now. - now brings an open buffer window to front. - No longer dies when a public screen of the same name already exists. - Removed carrier check for ASCII send. - Half duplex echo for chat buffer added. - Made missing library (file req) requester clearer. - No longer crashes when strings longer than 255 characters are used. - i, W, X, 4 and 5 no longer double print in VT printer controller. - Dialer "sees" RING during redial delay now. - Selecting "ACCEPT" now updates a string/integer requester if RETURN wasn't pressed during entry. Unreproducable bugs ------------------- The following reports either couldn't be duplicated or were verified as not valid (IMHO). Where necessary, there are short examples included to verify that the bug does not exist. - Why doesn't DEL get sent from ASK? The following statement outputs the string "ABCD:" ask "AB\x7fCD:", pin$ - ABORTXER, is it working correctly? From the tests I've done, yes. Need more details if there's something I've overlooked. - BS/DEL swap affects the chat buffer. Works properly in VT102 mode, this feature is not enabled in in non-Vtxx modes. - ZMODEM upload does not send rz\r correctly. It does, verified with a serial line monitor here. - WHEN "Intellect: 20" does not recognize the "20" portion, Used the following test scrip to verify that it is working correctly: when 1 "Intellect" send "got 1\n" when 2 "Intellect:" send "got 2\n" when 3 "Intellect: " send "got 3\n" when 4 "Intellect: " send "got 4\n" when 5 "Intellect: 2" send "got 5\n" when 6 "Intellect: 20" send "got 6\n" wait "finished" All 6 WHEN commands were executed as the string "Intellect: 20" was sent. - #4 guru when trying to open serial port that's already in use. Checked with/without OwnDevUnit.library, didn't happen. Related, exiting with carrier present, didn't happen. Is this the result of incompatibilities with 3rd party serial drivers? Only Commodore supplied drivers are used here, specifically, 33.13. - Check disappearing cursor problem in VT-220 CSI?25h/l. Several contrived tests, from calling a local UNIX system, to custom macros from another machine running Terminus to various "torture" tests on UNIX systems were run. This bug still can't be reproduced here although I've had this bug reported by several people... - Fkey macro that opens the chat buffer causes a guru. The following macro works fine: "!+chatmode=true" - Does the dialer reset scrolling regions for VT-xx emulations? Yes, apparently... There might be some related ANSI commands coming in right after the connection that are somehow being lost, can't be sure though. - Chat line "bleeds" when using smooth scroll. The standard fonts included with Terminus do not exhibit this behaviour. If this is occuring on your system is it the result of a different font or something else? Details are what's needed for this one. - Iconify/uniconify while review buffer is open causes a guru. Tried on custom and Workbench screens, couldn't duplicate. - Mungwall hits when linewrap is off. Couldn't duplicate. +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Terminus 2.0d ------------- There are still some unresolved bug reports that didn't make it into this release. I've decided to release it as is for now due to the DISPLAY command syntax error that occurs under AmigaDOS 1.3. I hope to follow up with another bug fix release in a few weeks or I might wait depending on how difficult RIP is to implement. Bug fixes --------- - DISPLAY command no longer generates a syntax error under AmigaDOS 1.3. - Added "Can't iconify public screen." message. - pens are reset when reloading the same console def file now. - Fixed another syntax error for WAIT UNTIL HH:MM:SS. - Clipping from main display now handles double width/height properly. - Expired requester no longer interfers with file transfers and dialing. - Removed screen background when display smaller than default size. - Chat buffer now handles Courier and other odd-sized fonts. - CURPALATTE no longer needs 16 values for screens with less than 16 colors. - Out-of-range integer values in .def and .phones files now checked for. - No longer gurus after posting system requester before console is open. - ONTIMEOUT no longer triggers if active WAIT is not doing a string search. - Fixed a false nested ELSE without IF error when loading a script. - LDEFFILE script command now updates console filename gadget. - Removed all SGR color change commands for MONO palette. - E and F now move cursor to column 1. +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Terminus 2.0c ------------- Due to the leak of a 2.0b beta this release has been bumped to 2.0c. 2.0c is also the first release that has been shipped to registered users. A serialized keyfile (displayed at startup and printed on the disk label) is included with the registered distribution so that you can download updates to Terminus locally. Bug fixes --------- - Beefed up syntax checking for DISPLAY command. - Fixed guru on exit bug that some systems were getting. - Fixed #4 guru on startup due to text overscan being larger than Workbench. - Status line gadgets for CRXLATE, LFXLATE and EOLOUT now working correctly. - The macro escape !% no longer sends the '%' character. - VT emulations should no longer reset columns to 80 anymore. - WAIT from ARexx would cause the next command to fail, fixed. - TPEN, BPEN and CPEN variables were returning incorrect values. - Read-only variables were not being passed to ARexx. - Entry editor no longer deletes macros after editing. - '~' delay character in fkey macros now works. - [MISC][QUIET SERIAL?] menu item now updated after iconifying. - Now clips last column properly with 1.x and 2.x releases. - Repeat search now advances to next match on last line properly. - Selecting Ignore in a string or integer requester restores fast cursor. - Removed 'R' character from CIS B+ file transfers. - Kermit XPR transfers should be working now. - IF/ELSE checking no longer gets confused with multi-line comments. - QUIET mode for the INPUT script command is now reset properly. - Dialer should now be insensitive to parity. - CALL and CHAIN script commands working again. - Fixed some enforcer hits when canceling file requester in console. - Script SEND command now handles read-only string variables. - QUIET command line option (and tooltype) working again. - CURPALETTE loads palette colors now. - Dialer is now idled if OwnDevUnit requests the port in use. - WINPOS updating no longer occurs after loading a new .con file. - Using to remove a selected entry now dials next entry. - Chat mode restored properly after uninconifying. - Keymap string gadget now updated when loading a console definition. - VT-xx emulations no longer guru when used with less than 24 lines. - Screen title properly restored after system requesters are posted. - ANSI index properly handles colors in 8-15 range now. - SGR color selection with the MONO palette now limited to colors 0-3. - ZMODEM rename option now overrides resume properly. - Deleting entries at the end of the phonebook no longer leave garbage. - Clipping from the main display highlights the last character properly. - Terminus now waits for OwnDevUnit to return before completing startup. - Reduced ZMODEM window size to 32k max to fix ZMODEM download lockups. - Number dial handles a blank entry properly now. - No longer locks up when searching prior to opening review buffer. - Y/ZMODEM downloads now do an auto-rename if target is a directory. - Now trims trialing '/' characters in paths requester. - EXISTS() script command now returns FALSE for NULL and directories. WATCHDOG command ---------------- A new script command has been added that monitors keyboard idle time. The synrax is: WATCHDOG OFF | num1, num2 The first value, sets the timeout in seconds that the watch dog timer will wait for the keyboard to be idle before sending the character defined by (which can range from 0 through 255). The timer is reset everytime a key that transmits a character is pressed. When a timeout condition is reached the character defined will be sent and the timer will be reset again. This command operates outside the context of a script. Once set, it will continue to run until carrier is lost, although carrier does not need to be present for it to be initialized. NOQUICK option -------------- This option variable has been added due to the problems with dnet.device (or any other serial device replacement) that does not properly handle the IOF_QUICK bit when used with BeginIO() during a CMD_READ request. As per the RKM documentation for the serial.device, if a CMD_READ is called via BeginIO() with the IOF_QUICK bit set, the device is to return the request immediately with the bit still set if it was able to read the desired number of bytes immediately from the internal buffer of the device. Unfortunately, some devices always queue a request when BeginIO() is called even though the proviso for the serial.device states otherwise. If you're using dnet.device you should turn this option on via a script command of: NOQUICK = TRUE Chat mode --------- Changed chat mode to only recognize '^' escape character for queued control characters now. VT-220 ------ More additions to the keyboard with this release. / sends a ^_ character. Cursor keys ----------- The following sequences are sent for cursor keys with the qualifier. CSI T CSI S CSI sp @ CSI sp A Where CSI is " [" or hexadecimal 9B and is a space character. +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Terminus 2.0a ------------- As expected, there were some bugs remaining in the initial release of Terminus. This version is primarily a maintenance release to repair those problems, but it does incorporate several changes and additions which are sectioned and titled below. Bug fixes --------- - ReqChange is now working. - Entry macros requester no longer opens without a script being present. - Now closes review buffer if it is cleared while open. - [MISC][RESET TERMINAL][X] now resets the foreground/backround pens. - Palette requester now changes screens when menu pens are changed. - Prescroll should work with ANSI controls in data stream now. - Now forces non-interleaved bitmaps with non-AGA machines and no fast ram. - No longer disables 16 color screens on AGA machines without fast ram. - VTOpts requester no longer resets column size and font. - Sprite horizontal offset fixed. - , and keys send appropriate characters in VT-220. - COLOR and CUSTOM palettes should work properly with VT-xx now. - Predefined script variables were not passing a result back to ARexx. - Line wraps with double width characters in VT-xx should work correctly now. - [MISC][PRINTER ?][P] no longer prints contents of screen at close. - No longer gurus after posting serial port error requester. - Now keeps the serial port if carrier is present when using OwnDevUnit. - Deleting and inserting characters at end of chat buffer no longer gurus. - Smooth scroll should no longer leaves rectangles of the menus behind. - Phonebook now deletes new entries that don't have any numbers defined. - [PHONEBOOK][DIAL NUMBER...][j] ignores null entries now. - Dialer now loads fkey macros when an entry is in auto-record mode. - Selected files list is now purged when a transfer aborts. - Can no longer enter an empty string for Boyer-Moore search. - Script command CALL now working. - Beefed up checking for unassigned volumes and missing subdirectories. - Able to clip hidden text in the review buffer now. - CURPALETTE is working now. - Fixed syntax error in palette definitions. - INVLINE no longer interfered by cursor. - ZMODEM window problem fixed. Modem config script ------------------- The automatically launched configuration script apparently has caused a lot of confusion that I had not been prepared for. Evidently, no amount of changes or amplified warnings will be sufficient to prevent future problems, so Terminus will no longer start this script by itself. The script has also been renamed as "ModemConfig.scp" and has had some minor changes to it's opening text to better explain the objective of that script. Please accept my apologies for any grief this script may have caused you. Display changes --------------- If you are using AmigaDOS 2.x and have created any console definition files with the initial release you will need to edit those files to delete the DISPID and DISPLAY commands in them prior to running this release of Terminus. After making those deletions you can load each one and adjust the appropriate parameters and save them out again. These changes were made necessary due to the major addition in this version of a screen mode requester for WB2.x. You will need the V38 release of asl.library (included with WB2.1) or ReqTools in order to use this version of Terminus. The DISPID command has been reassigned as a keyword for use in the DISPLAY command. The synatx for DISPLAY has been changed as well. It now has two syntax modes, one for WB1.3 and the other for WB2.x. The command now works as follows: 1.3 DISPLAY ----------- DISPLAY [ = { WORKBENCH | [ILACE] { 2 | 4 | 8 | 16 } COLOR } rows cols ] The console requester and DISPLAY command is unchanged for use with AmigaDOS 1.3, continue to use as before. 2.x DISPLAY ----------- DISPLAY [ = { WORKBENCH | DISPID val { 2 | 4 | 8 | 16 } COLOR } rows cols ] With AmigaDOS 2.x the console requester removes the SCREEN cycle gadget and the INTERLACE check gadget and replaces them with a screen mode pair of gadgets that are much like the font and definition file gadget sets. Terminus adds a private screen mode to the list of available modes for the purpose of selecting the Workbench (or active public) screen for opening it's display on. This mode is not global, it will not be seen by any other application that accesses the display modes list. While in the screen mode requester you may select any combination of display mode and screen depth. However, once you close the requester after making your choice, Terminus will adjust the screen depth according to which palette is in use at the time you make your screen mode selection. To recap, the following depths are allowed for each palette: COLOR 2, 4, 8, 16 (and 32 with AGA systems). CUSTOM 2, 4 and 8. MONO 2, 4 and 8. WORKBENCH n/a. Inactive window indicator ------------------------- The borderless display has no visual indication that the window is active or inactive if you're not using the fast (sprite) cursor. This has been changed so that the status line only displays the session name, timer and clock when the window is inactive. Border blank control -------------------- {GENERAL}{BORDER BLANKER}{B} enables/disables border blanking with ECS and AGA based machines on custom screens. Mouse functions control ----------------------- {GENERAL}{MOUSE FUNCTIONS}{S} enables/disables the clipping, ANSI mouse and character mouse operations available in Terminus to prevent interference with alternate utilities that access those sequences. Emulation changes ----------------- The Amiga and IBM (COLOR/MONO) emulations have been "relaxed" a bit to allow for ANSI sequences that are not really part of those two emulations. This was made necessary to accomodate those BBS' whose system and utilities depend on non-standard sequences being present. VT-220 changes/additions ------------------------ The VT-220 emulation has been enhanced to include the generation of "meta" keys. The characters a-z and A-Z when used in conjunction with the qualifier will now send that character prefixed with an character. The , and keys now send the appropriate 7 bit character, not the 8 bit sequence they were sending previously. The following numeric keypad keys send VT-220 edit functions when used with the qualifier: - Find - Insert Here - Remove - Select - Prev Screen - Next Screen OwnDevUnit changes/additions ---------------------------- Terminus now ignores requests for the device/unit that it currently owns while carrier is present. A new option, {PORT}{ODU NOTIFY}{N} (ODUNOTIFY), when active, enables Terminus to allow for device/unit requests. When inactive it will ignore all requests. Chat buffer changes ------------------- Chat area can now be set to a one line chat buffer. Also, the chat buffer can be toggled via now. Phonebook/dialer changes ------------------------ The phonebook will no longer allow the creation of entries that don't have at least one phonenumber defined. The number dial mode of starting the dialer will also ignore a null entry as well. A problem showed up with the way macros are stored for an entry that has been fixed. Macro definitions need to be at the top of a login script, but there was a situation where they would be appended to the end of the script if the script was created via recorder prior to defining any macros. Now the script is created when the entry is, regardless of the presence of macros or not.