1. (Windows) Various problems related to starting in invisible or minimized mode have been cleared up. In particular, A-Shell/Windows will now show itself if it has to prompt you for the licensing information. (Previously, the session would just appear to hang.)
2. (Windows) A new command line switch, -min, causes A-Shell/Windows to start up minimized. (This is similar to the existing switch -z, which starts up A-Shell/Windows in invisible mode, except that with the minimized mode, you can see the entry on the task bar, and you restore the window simply by clicking on the task bar entry.)
3. PCKLST.SBR now automatically shrinks the box to the size of the MAXCNT parameter. Previously, if the box displayed more rows than MAXCNT indicated, the remaining rows were not only selectable, but may have displayed garbage.
4. EZTYP.SBR now supports TAB and Shift-TAB to shift the margin +/- 8. (Note that Shift-TAB detection requires that you update your IFX table, using FIXTRN, to translate Shift-TAB to ^G# (which equates to EXITCODE -35.) F3 and ^X are now treated as next-match.
5. (WINDOWS) Shifted arrow keys now act like functions keys (matching AM65 behavior.)
6. INFLD.SBR now translates ^X to EXITCODE 27 with TYPE "|XX". ("|X?" is a 3-char TYPE code that causes ^X to be interpreted as ^?, where ? is any key A-Z or [|]^_. So "|XX" would mean that ^X should be treated as ^X, which we take it to mean you want to exit the field with an EXITCODE indicating ^X.)
7. TCPCLI.SBR and TCPSRV.SBR updated. Windows version now supports limiting the size of the read operation using the FLAGS argument. Previously only the UNIX version supported that. Now all versions use FLAGS to limit the read and write size; if FLAGS=0, then the maximum size is the size of the DATA parameter, or 4096, whichever is less. (Windows version previously had a limit of 2000 bytes.)
FLAGS now also allows reading/writing beyond the size of the DATA parameter, but only if the DATA parameter is a subscripted variable. (When a subscripted variable is passed to a subroutine, the size is the element size, not the total array size.) This new feature allows you to use an array, even a dynamically dimensioned one, as a buffer for socket communications.
WARNING: This capability can allow you to corrupt memory if you pass an invalid value for FLAGS, so caution is advised.
8. COMPIL.LIT 1.0(111) (and OCMPIL.LIT, COMPLP.LIT) will now automatically delete from memory any modules with the same base filename as the module being compiled. For example, "COMPIL XYZ.BAS" will essentially do a "DEL XYZ.*". This eliminates a very annoying side effect of the automatic memory-caching of SBX routines, that of continuing to use an old copy from memory after compiling a new copy.
9. XCALL MIAMEX,116,FSPEC$,STATUS now processes the specified FSPEC$ as a new INI.CLR file, thus allowing you to change color schemes without having to restart A-Shell. Return STATUS is 0 for success, -1 = not found, -2 = cannot open, -3 = bad file layout. (See the files release in the LIB: directory with .CLR extensions for examples of the proper layout.) The MIAMEX.BAS sample program has been updated accordingly.
10.PRINT.LIT 2.5(117) now supports unquoted native filespecs. This is essential when using GDIPRT.SBX, since quoted command line arguments may be stripped in the process of launching A-Shell. The only case where you must continue to quote native filespecs with PRINT.LIT is under UNIX when not specifying the printer name. For example:
.PRINT LP1=/tmp/printfile.lst (OK)
.PRINT /tmp/printfile.lst (Not OK)
.PRINT "/tmp/printfile.lst" (OK)
The problem with the middle one is that there is no reasonable way for CMDLIN.SYS to know that the /tmp isn't supposed to be a switch.
11.AM65 driver now treats Shift-TAB and Shifted arrow keys as function keys. The IFX files have all been updated to support the following "standard" translations:
Shift TAB = ^G# (EXITCODE -35)
Shift Left = ^G$ (EXITCODE -36)
Shift Up = ^G% (EXITCODE -37)
Shift Right = ^G& (EXITCODE -38)
Shift Down = ^G' (EXITCODE -39)