Please enable JavaScript to view this site.

A-Shell 6.5 Development Notes

Navigation: Notes by Version and Date > 2022

1716 — 27 May 2022

Scroll Prev Top Next More

 

1716.9.1

Fix

Execution of code generated by ++PRAGMA TRACK_LAST_ROUTINE was resulting in an otherwise harmless stack underflow.

1716.8.1

EIR

Non-critical stack underflow condition is now logged but doesn't merit a Basic error.

1716.7.1

Fix

Removal of the limit on ordered map key length (see 1716.2) introduced a problem with assignments where the rvalue invoked a function that in turn involved ordered map assignments, one of which required expansion/relocation of the map key buffer.

1716.6.1

Fix

Compiler edit 992: attempting a private instantiation of a DEFSTRUCT containing overlaid variables was resulting in a spurious compiler error.

1716.6.2

Fix

Compiler edit 993: fix several issues related to .SUBLIST and .SPLICE: (1) passing a .SUBLIST to a function expecting a list was causing a spurious array vs. scalar mismatch compilation error; (2) in some statements a .SUBLIST was being treated as scalar variable, possibly leading to a spurious compilation error or real runtime error; (3) a foreach statement iterating through a .SUBLIST may have thrown a spurious compilation error; (4) the 3-argument version of .SPLICE was being compiled incorrectly, leading to possible stack corruption at runtime.

1716.6.3

EIR

Runtime interpreter refinement: tighten the tests for stack underflow within the expression handler to detect certain errors that previously escaped notice. Note that since there is no explicit Basic error code for stack underflow, it shares error #33, aka stack overflow.

1716.6.4

Fix

.IFE() runtime evaluation: a numeric .IFE() expression embedded within a larger string expression was in some cases resulting in stack underflow. Previously this might have gone without notice or harm, but would now be detected by the stack underflow test; see above. Note that this was purely a runtime issue and does not require recompilation to fix.

1716.6.5

Fix

.IFELSE$() runtime execution: under Linux, the second result string was sometimes losing a character or two due to a string-copy library optimization problem.

1716.5.1

Fix

Internal refinements to detect and protect against certain intermittent instances of segmentation faults under Linux.

1716.4.1

EIR

Refinement: automatic DYNSTRUCT binding during function parameter passing (see 6.5.1711 below) now works even when the calling argument is not explicitly named.

1716.3.1

EIR

Compiler edit 990: close a loophole in which function call parameter lists containing literals might trigger a spurious syntax error or fail to compile correctly.

Also syntax error messages now display a suffix "-->> xxx ..." where xxx indicates the part of the line where the syntax error was detected. This is mainly helpful in very long source lines where it is sometimes difficult to find the missing or misplaced character.

1716.3.2

Fix

Refinement to the ordered map key length patch in 1716.2 which didn't completely handle complex map assignments involving expressions containing function calls.

1716.2.1

EIR

Refinement to algorithm generating unique ID's for each session when using either the -silo command line switch or running within a Docker container. New algorithm should reduce the chance of two instances getting the same ID if many sessions launched simultaneously.

1716.2.2

EIR

Ordered map refinement: remove the limit on the length of a key, which previously was 511 characters.

1716.1.1

EIR

XTREE refinement: attempting to exit from an editable cell was taking two clicks or keystrokes—one to exit from editing mode and the second to exit from the tree—if the cell was set up for validation.

1716.1.2

Fix

(CentOS) Minor adjustment to compiler internal optimization to fix an obscure problem with bogus syntax errors in very large programs.

1716.0.1

EIR

Due to updates in the underlying components, the two ASQL connectors have been updated to version 1.5.

1716.0.2

EIR

(Windows) SQL trace option added to the Debug Message Window properties.

1716.0.3

EIR

SET.LIT 1.2(166) now supports the SQL TRACE, and the TRACE options are now displayed alphabetically.

1716.0.4

EIR

VERSYS.LIT 3.1(110) enhancement: /CSV switch outputs all the display details to a CSV for a wildcard set of programs.