Please enable JavaScript to view this site.

A-Shell Development History

1192.6.1

(Linux) Workaround an apparent bug in the memory copy (memcpy) library routine in one Ubuntu installation, which had the effect of corrupting some string concatenation operations. (The character at the start or end of one of the operands would sometimes be replicated into the adjacent byte, in maybe 5% of the cases, presumably based on some kind of alignment factors.) The workaround substitutes a different memory copy routine (memmove), which is slightly less optimized in order to handle overlapping regions (which shouldn't have been a factor in this case, but apparently the decreased optimization eliminated the problem). There is a slight performance penalty associated with this change (string intensive operations appear to be about 2% slower), but at least for now, that seems like an acceptable trade-off to avoid a potentially devastating data corruption bug that, although rare, we otherwise seem to have no easy way of detecting or preventing.

1192.6.2

(Windows ATSD) MSGBOX.SBR bug fix: The text mode version of the message box (used when connecting to ATSD from a non-ATE emulator) was not displaying the proper message text.

1192.4

A-Shell/Windows/ATE packaging fix: APEX got broken in 5.1.1192 due to a licensing mixup created when moving the development to Visual Studio 2010 from VS 2008. It is now fixed. WARNING: At the same time, backwards compatibility with W2000 was lost. (Ashw32.exe reports "not a valid WIN32 application".) This problem is still under study.

1192.3

ATSD / XTEXT (server side) bug fix: The text was not being returned when using buffer mode (txc'dstfmt = 0).

1192.1

AUI_CONTROL refinement: When creating a modal dialog, if the application is currently in background, it now takes additional steps to remain in background. Previously, the act of creating a dialog while in background was likely to cause a shuffling of the window order, often ending up with the dialog's parent window displaying on top of both the new dialog and the currently active window.

1192.2.2

New ? TAB AG_ISFOREGROUND command checks to see if current instance of A-Shell/ATE is the active application.

1192.1.1

Compiler bug fix (edit 467): STATIC DIMX now works as expected within a function or procedure. Previously, it ignored the STATIC. But due to a quirk which was removed in 1190 when the DIMX issues with SBX recursion were resolved, it acted as if static at runtime. Between 1190 and 1192, even STATIC DIMX acted like DIMX. Now they both act as expected. (Note that you are still responsible for cleaning up unwanted DIMX allocations made within a function.)

1192.1.2

Dynamic memory bug fix: close a loophole causing a bogus out of memory error when a memory pool had to be moved in the middle of a deeply nested function specified within an assignment statement whose destination variable was also a dyna mic variable sharing the same (deeply nested) memory pool.

1192.1.3

AUI_CONTROL refinement: When creating a modal dialog, if the application is currently in background, it now takes additional steps to remain in background. Previously, the act of creating a dialog while in background was likely to cause a shuffling of the window order, often ending up with the dialog's parent window displaying on top of both the new dialog and the currently active window.

1192.1.4

Runtime enhancement to array AUTO_EXTEND feature: References to elements of DIMX/AUTO_EXTEND arrays within XCALL, FUNCTION, PROCEDURE calling parameter lists, as well as in INPUT statements, now trigger auto-extension of the array if required. Previously, auto-extension only occurred when the array element was referenced on the left side of an assignment. The new behavior is useful in cases where the parameter will be updated by the routine being called (thus making the operation similar to an assignment).

1192.0.1

Compiler enhancement: functions and procedures may now contain a special EXIT Label which the EXITPROCEDURE and EXITFUNCTION statements will effectively jump to.

1192.0.2

Compiler enhancement: functions and procedures may now use ++EXTERN for Referencing DIMX variables.

1192.0.3

Compiler enhancement: new EXTENT System Function returns the current extent of a specified dimension of a specified array.

1192.0.4

Compiler enhancement: add support for a new Dynamic Overlay mechanism.

1192.0.5

SQL.SBR enhancement: A change has been made in the way that F4 parameters are passed, allowing them to be used in prepared statements.

WARNING: this change breaks the prior ability to fetch a field directly into an F4 variable (using SQLOP_FETCH_ROW) using the 1.3 connectors. So if you use that capability, you must upgrade to the 1.4 connectors at the same time that you update to A-Shell 5.1.1192.0

1192.0.6

AUI_CONTROL enhancement: Support Microsoft's Command Link Button Style.

1192.0.7

AUI_CONTROL enhancement: you can now Add An Icon or Bitmap to Any Button.

1192.0.8

Scrollback has been implemented in ATE and A-Shell/Win.