Please enable JavaScript to view this site.

A-Shell 6.5 Development Notes

Navigation: Notes by Version and Date > 2019

1660 — 08 May 2019

Scroll Prev Top Next More

1660.7.2

Fix

ATE: extend patch introduced in 1660.2 to apply to other client-side functions XTREE, XTEXT, INFLD. This solves, among other problems, the delay and subsequent error when launching the ATE print screen utility from within an XTREE, XTEXT or INFLD call.

1660.7.1

Fix

Compiler edit edit 902: .SIZEOF(VAR) was not respecting scope—i.e. was finding global VAR when it shouldn't.

1660.6.3

EIR

AXL library update (libxl.bsi) [128] adds commands to set the margins and the print repeat feature.

1660.6.2

New

Add CSV2XL Print Directive SETPRINT to CSV2XL.SBX 2.1(227), to set print features.

1660.6.1

Fix

Stack overflow bug fix: Use of the IFE() / IFE$() function was inhibiting the automatic expression stack cleanup, which, depending on the subsequent sequence of operations, could lead to a stack overflow error in another statement.

1660.5

Fix

XTREE (client-side): the export to CSV or CSV2XLS options were failing to encode embedded characters so that Excel and most other CSV importers will treat them as raw characters rather than delimiters.

1660.4.5

Fix

Compiler edit 901: IFELSE(relexpr,expr1,expr2), along with the IFELSE$() string version, were both treating the relexpr as being purely numeric, which after edit 890 was resulting in any string operands within the relexpr being converted to numeric prior to evaluation. This rendered string comparisons, e.g. A$ > B$ as being equivalent to VAL(A$) > VAL(B$), which had only about a 50% chance of giving the expected result.

1660.4.4

Fix

Compiler edit 900: In /X:1 or /X:2 mode, a FOR/NEXT loop was incorrectly starting from one STEP unit after the correct starting value if the initial expression ended with an operator with lower precedence than addition. For example, FOR I = X MAX Y TO Z was starting at (X MAX Y) + 1 rather than (X MAX Y) because MAX has lower precedence than the implicit addition or subtraction of the step value. The problem didn't affect the OCMPIL implementation of FOR/NEXT, and didn't occur if the 'from' expression was parenthesized. Same patch as 6.4.xxxx.

1660.4.3

Fix

Compiler edit 899: ++PRAGMA GLOBAL_BEGIN wasn't working when the source file spec was longer than 50 characters—i.e. when using native filespec notation for the program source.

1660.4.2

EIR

RANDOM and old ISAM WRITEs now perform a secondary check on the file size if the specified record number is beyond the end of the file, matching the behavior of the READ routine. This addresses a rare situation where a dynamic expansion of a file by one user might result in another user getting an illegal record error writing to the expanded section of the file.

1660.4.1

Fix

GUI bug fix: Control auto delete logic was being incorrectly triggered when a new image control with MBF2_PIXSIZE was created above and to left of an existing image control.

1660.3

Fix

XTREE client-side: close a loophole in which an explicit or implicit XTROP_REPLACE operation reducing the number of rows in the tree might lead to memory corruption if auto-filtering was enabled. The problem was being detected and reported in the ashlog—search for "Corrupt!" or "Cell_store anomaly"—but not necessarily prevented. A new warning message has been added to ashlog to advise when the workaround—truncating the unfiltered data array to match the new smaller number of rows—is triggered.

1660.2

Fix

ATE client-side: when the ATE client was on the server side of a server-client operation, such as when it was executing a client-side SBX that issued client commands requiring responses, in some cases the responses were being sent to the application server, rather than to the ATE client acting as a server. This was resulting in spurious timeout conditions in which ATE would appear to hang for 15 seconds (duration of the typical timeout), and possibly result in an application-level error (client not responding).

The only known incidence occurred when exporting to XLS from XTREE, but it might have occurred in other contexts, possibly without being recognized.

1660.1.3

EIR

ASHNET Library Update 1.12.165.

1660.1.2

Fix

EMAILX 6.5(140): EMAILX was complaining about too few parameters if less than 11 passed, even in situations where the 11th parameter (socket) wasn't really necessary.

1660.1.1

Fix

IFE(a,b) was failing to take SCALE into account for the b parameter.

1660.0.3

EIR

ASHNET Library Update 1.12.164.

1660.0.2

EIR

Compiler refinement, edit 898: MX_DYNSTRUCT now allows DEFTYPE aliases for implicitly sized X variables. There were previously allowed, but the DEFTYPE name was lost during the runtime compilation.

1660.0.1

New

Add Command Line Switch ERZ.