Please enable JavaScript to view this site.

A-Shell Development History

1. (LINUX) Internal adjustment to handling of the SIGTERM signal to workaround a problem which appeared in the latest updates of Red Hat 7.1 and 7.2. (The symptom was that KILL/K or even kill -TERM didn't work; and after you tried it, other signals wouldn't work either.)

2. INMEMO.SBR Free-Form menu mode has been made slightly "smarter" in the way it handles the up and down arrow commands. Previously, up would go to the last item on the next row above the current row that had any items, and conversely, down would go to the first item on the next row. Now, both commands check to see if there are multiple items on the new row, and if so, selects the item whose starting column is closest to the starting column of the previously selected item. This makes it possible to implement multi-column menus and go up and down the columns.

3. INMEMO will now automatically expand memo files, unless you disable it by adding OPTIONS=NOAUTOX (or OPTIONS=NOISAM_AUTOX) to MIAME.INI. (The two options settings are equivalent, so you either have auto expansion of both ISAM and memo files, or you don't.) Auto expansion amount is 10% of the current file size, with a 64 block minimum.  As with ISAM autoexpansion, a message will be logged to the ashell.log.

4. (WINDOWS) A new MIAMEX function, 105, now allows you to get and set clipboard text. Syntax:

XCALL MIAMEX, 105, OPCODE, TEXT{,STATUS}

OPCODE (any numeric type) is 0 to retrieve clipboard text and 1 to set it.

TEXT (string) is the text to set or get. If there are multiple lines,  the will be (or should be) separated by CRLF.

STATUS (optional numeric param) will return 0 for success, else one of the following:

-1 (unable to open clipboard; possibly locked by another process)

-2 (error setting or getting data)

-3 (error locking memory)

If you use SET TRACE SYSERR ON, you will get a message box with  further description of the error.

5. A new MIAMEX function, 106, now retrieves information about the current operating system name and version. This can be useful when using special features that require a particular operating system or version. (For example, A-Shell/FAX requires Windows 2000 or XP.) Syntax:

XCALL MIAMEX, 106, OSNAME {,OSVER, OSREL, ASPLATFORM}

All parameters are strings, which should be of appropriate sizes (see below). (Contents will be truncated if the string is too small.)

OSNAME (S,10) returns the name of the operating system. For Windows, the possibilities are: "Win95", "Win98", "WinME", "WinNT 3.51", "WinNT 4.0", "Win2000", and "WinXP". (.NET Server currently is indistinguishable in this field from XP.) If the version information is not recognized, it will be reported as "Win X.Y" where X is the major version number and Y is the minor version number.  For UNIX/Linux, OSNAME will return the same as the "uname -s" command, e.g. "Linux", "SCO_SV", "AIX".

OSVER (optional, S,16) returns the "version" of the operating system. For Windows, this might contain "OSR2" for Win95, "SE" for Win98, or "Service Pack 6" for NT. For UNIX/Linux, it will be what "uname -v" returns, e.g. a date string for Linux, or "5.0.5" (SC0), or "4" (AIX 4.3).

OSREL (optional, S,16) returns the "release" of the operating system. For Windows, this will be the build #. For UNIX/Linux, this will be what "uname -r" returns, e.g. "2.4.2-2" (Linux), "3.2" (SCO), "3" (AIX 4.3).

6. The sample program MIAMEX.BAS has been significantly enhanced and expanded. It now uses PCKLST.SBR to display the menu, and all 106 MIAMEX functions are accounted for. Nearly all of the functions that might make sense within an application now have test/demo routines implemented.