Please enable JavaScript to view this site.

A-Shell 6.5 Development Notes

Navigation: Notes by Version and Date > 2020

1679 — 16 April 2020

Scroll Prev Top Next More

1679.5.5

Fix

APEX: //SETOPTION values were being reset at the start of printing from the printer selection dialog button. This was mainly an issue when using //SETOPTION,NO-AUTO-MARGINS with virtual printer drivers.

1679.5.4

Fix

APEX: //XOFFSET and //YOFFSET values are now preserved across page breaks. Previously they needed to be explicitly specified for each page.

1679.5.3

Fix

CGI mode startup refinement: when newly launched CGI task exceeded the license, in some cases it would itself timeout—due to the standard CGI seven second inactivity timeout—before it finished probing for phantom jobs.

1679.5.2

EIR

Increase the maximum number of modules that can be loaded into the user partition at one time, from 96 to 128.

1679.5.1

Fix

Parameter passing: further correction to the patch in 1679.2 which was complete failure to pass parameters to XCALLs implemented within certain library modules, such as ASQL.

1679.4.3

Fix

License counting: although child processes were never counted against the license during startup, during some recount scenarios they were being charged as licensable.

1679.4.2

Fix

License counting: when a newly launched session exceeds the license limit, A-Shell now always does a full recount before checking to see if there are any phantoms. In systems that run close to the limit and have a lot of rapid in/out activity, such as for web services, this can reduce the frequency of startup delays due to trying to recover abandoned licenses.

1679.4.1

Fix

(Windows) JOBCTL.SYS: close a window of opportunity through which a new session that exceeded the license count might have prematurely zapped an existing session, falsely thinking it had died.

1679.3.2

Fix

Parameter passing: correction to patch in 1679.2 which was resulting in string expressions passed in XCALLs showing up as "@".

1679.3.1

Fix

APEX: the //XOFFSET and //YOFFSET values set on the first page were not getting carried over to subsequent pages.

1679.2.3

Fix

Parameter passing fix: Close a memory corruption loophole during passing of parameters to subroutines and functions. Similar to the above patch, this loophole appeared when parameters were passed via string expressions rather than variables. If two or more such expressions occurred in one parameter list, there was small opportunity for one of the latter parameter expressions to cause the string stack to be relocated, invalidating the parameter address pointers to earlier stack expression parameters.

1679.2.2

Fix

Parameter passing fix: Close a memory corruption loophole during outputting of xcall/function dynamic parameters. The loophole appeared when a parameter list contained more than one dynamic variable from the same pool context, and the act of outputting one of them caused the pool to be relocated. Note that the ashlog has contained warnings relating to this issue going back to 6.2; those warnings have been convertion to "%Info:" messages that only appear when the MALLOC trace is set.

1679.2.1

Fix

Compiler edit 927: STRSIZ 0 was causing spurious errors in some function declarations.

1679.1.2

Fix

APEX refinement: Restore automatic margin behavior prior to 6.5.1679—of automatically adding //XORIGIN,360 and //YORIGIN,360 when none was specified—unless the //SETOPTION,NO-AUTO-MARGINS directive specified. This avoids a subtle but possibly unwanted behavior change when updating. Going forward, though, the NO-AUTO-MARGINS option is recommended.

1679.1.1

Fix

PDFX: //PDFX,Overlay.OverlayFile,spec wasn't converting AMOS-style specs or specs containing %MIAME% references to native format. It was working, however, with the older variation //PDFX,Overlay.File,spec.

1679.0.4

EIR

XMPP library updated to 1.0.2 to support the current changes in XMPP.SBR. Both the library and the ashell executable must be updated together.

1679.0.3

EIR

Revisions to the parameter list in XMPP.SBR.

1679.0.2

New

Add GDI Command NO-AUTO-MARGINS.

1679.0.1

EIR

APEX Refinement eliminates borders when target is a virtual printer.