Please enable JavaScript to view this site.

A-Shell Development History

1399.7.1

ATE protocol refinement: throw away type-ahead following a message box, possibly eliminating situations where characters typed ahead of the message box no longer make sense after it.

1399.7.2

ATE Network Delay / user interface refinement.

1399.6.1

Windows bug fix: close resource leaks.

1399.6.2

Server-side ATE aux port printing refinement: server now waits for acknowledgement from client to indicate that it is ready to receive commands after printing. This closes a window of opportunity for an ATE command timeout in the application if it proceeded to perform an operation that required an ATE response while the user was stuck in some dialog created by the printer driver.

1399.6.3

Minor refinements to client-side ATE socket activity tracing.

1399.5.1

XTREE bug fix: Correct ATE multi-XTREE optimization problem resulting in the possible disappearance of trailing rows during a re-entry. Introduced in 1398.4.

1399.5.2

XTREE bug fix: double-clicking on a "U" (update only) cell wasn't triggering the row-selection exit—i.e. was waiting for ENTER.

1399.4.1

Compiler bug fix (edit 739) - ++PRAGMA BEGIN_GLOBAL sections were in some cases failing to ever get compiled. Problem was introduced in compiler edit 738.

1399.4.2

Minor ATE trace refinement: now logs user response to the "communication may be broken" dialog and flushes the "wait on socket" trace every 5 seconds.

1399.3.1

Bug fix: passing an uninitialized dynamic variable as a parameter to an XCALL or function was generating a bogus error #64.

1399.3.2

ATE tracing refinement: network read operation now traced, to determine whether an apparent hang occurs in the network read.

1399.2.1

AUI_CONTROL refinement: custom drawn static controls (MBF_STATIC with MBF2_CUSTDRAW) now support tab expansion.

1399.1

ATE tracing refinement: now shows # bytes received in each network read.

1399.0.1

New miame.ini option: ATETIMEOUT=<milliseconds>. This allows you to change the default ATE command/response time out from the standard 7500 milliseconds to something else. Depending on your network, you may find that 7500 is too low, producing spurious timeout conditions, or too high.

1399.0.2

Improved ATE handshaking: When both server and client are 6.1.1399+, server sends the client its process id and clock time on connection. Client uses the clock time to adjust the timestamps in the client-side ashlog to match the server's clock. It also logs the server process ID in the client log. Both of these logging refinements make it easier to match up server and client log entries.

1399.0.3

Improved ATE logging: in addition to the above item, the client is somewhat more consistent/verbose about logging the reason/trigger for the session termination.

1399.0.4

XTREE bug fix/refinement: Ctrl+Click on an extended checkbox column (T+) now works for clearing as well as setting a block of checkboxes. Previously it only worked for setting them.

1399.0.5

ATE enhancement: Implement an ATE No Activity Message in AG_HOLDKBD.

1399.0.6

ATE SSH receive buffer size increased from 64K to 128K, possibly increasing throughput in some streaming situations, such as auxiliary port output.

1399.0.7

AUI_MENU bug fix: the MNUOP_POP opcode (display previously-defined context menu) was failing to disable the command-response timer, thus possibly leading to timeouts and miscommunication between the server and client if the user hesitated for more than the ATE timeout period (default 7.5 seconds) while looking at the menu.

1399.0.8

MX_AGWRAPPER enhancement: the wrapper routine now handles certain ZTERM legacy commands (AG_FTP, AG_SHLEXEC and AG_WINEXEC) more robustly than before. These commands differ from the standard ATE commands for which MX_AGWRAPPER was designed because they only return a single character, rather than a string with a CR terminator. Previously these worked fine in the case of success, because the successful code of chr(13) matched the response termination character expected by AG_MXWRAPPER. But in the case of failure, the chr(3) response would either abort the program or would be ignored. Now the single character error response (chr(3)) is returned in the MX_AGWRAPPER response parameter, as you would normally expect when using MX_AGWRAPPER.

1399.0.91

TabX refinement/workaround: If the user somehow manages to click on a tab label in such a way that the event code trigger is bypassed and consequently the application doesn't know to switch panels, resulting in a mismatch between the actual panel displayed and the highlighted label, you can now rectify the situation by just re-clicking on the correct label. This is a rare situation, generally only possible if clicking rapidly on the labels while other control updating operations are occurring within the TABX control. When it did occur, it previously caused more headache because clicking on the correct label typically caused confusion in the application, which thought that the specified panel was already the active one, thus rejecting the click.