1. Implement auto expand for old ISAM files. Feature is on by default, but may be turned off by adding OPTIONS=NOISAM_AUTOX to the MIAME.INI. When triggered, the IDA or IDX is expanded by 10% of the existing size, or by a minimum of 50 records (for the IDA) or 10 blocks (for the IDX). This works even when multiple jobs have the file open.
2. ISAM Link Structure Smashed errors (erf 35) are now logged to ashell.log with related information which should be useful in debugging.
3. Enhance ISAM delete record sequence to auto-retry on error writing the IDA. This is similar to auto-retry code in ISAM add record sequence. Note that when this occurs, you will see an "LR" (during add record) or "LW" (during delete record) in the lower right corner of the screen. (If you have TRACE=LOCKS set, you will see a much expanded message occupying most of the bottom line of the screen.) Only after about 80 retries will it give up and return erf 35 (link structure smashed.) (It is debatable whether that is the right error code to return for such a situation, but the fact that details are logged to ashell.log should make it adequately clear just what took place.)
4. A new MIAME.INI statement, OPTIONS=ISAM_IDXLOK, can now be used to force the ENTIRE IDX file to be locked during ISAM update sequences (as opposed to just the "rock".) In theory this is overkill, and will impose some additional overhead, but in situations on Windows peer-to-peer networks where you are having unexplained erf 35 problems, it might be worth trying. (The theory is that under some circumstances, particularly when there is a mismatch between the versions or configurations of Windows on the client and server machines, the server may fail to properly synchronize file updates on areas of the file that have not been locked.)
5. The WAIT'RECORD open file option now works properly for ISAM data (IDA) files.
6. IBUTTN.SBR now supports the DS9097U adapter and auto-overdrive.
7. KILL.LIT 2.2(118) now properly detects when target is at command prompt. (Previously it sometimes reported erroneously that the target was still running.)
8. FORCE.LIT 1.0(100) introduced. Allows you to force input into another job's input buffer (as on AMOS). Note that under Windows, there may be a delay of up to the IJCFREQ time. Also note that under UNIX/Linux, the sender must be the same effective user as the target, or be root, or you must have the setuid bit set on the ashell executable in order to send signals to other processes. (This applies to SEND.LIT, CHAT.LIT, etc.)
9. XCALL FORCE, JOB, COMMAND {,STATUS} implemented. JOB is target job name; COMMAND is command string to force (up to 120 characters.) STATUS is an optional numeric variable which will be set to 0 on success.
10.Fix a bug in the WYSE50 terminal driver relating to status lines. (It specified no sizes for the status lines in the TRMCHR routine, and had the wrong ESCAPE code for the top status line.)
11.TRACE=BASERR now causes BASIC errors to be logged to ashell.log.
12.TRACE=ISAM causes ISAM statements to be logged to ashell.log.
13.LOKUTL.LIT 2.2(111) updated for new internal file locking configuration.