Please enable JavaScript to view this site.

A-Shell 6.5 Development Notes

 

1744.0.4

MX_DEBUG enhancement: add prefix parameter to support querying and setting global tracing prefix. Updated syntax: xcall MIAMEX, MX_DEBUG, op, debug {, debugmin, debugtags, debugout, prefix}. prefix [str] [in/out] returns or sets the tracing prefix string (e.g. "$# $T $P"), depending on the op. Primarily used by SET.LIT.


1743.0.1

New subroutine REGEX2.SBR supports a replacement operation, similar to that of MX_TRANSCOPY, except that it acts on a single string subject, pattern and replacement specification rather than a file-based set of them..


1742.0.6

MX_OSVER updated to report more accurate Windows information. Note however, that Windows 11 continues to identify itself as Windows 10, apparently due to some Microsoft rationale. You can identify it by a release or build # >= 22000.


1740.0.7

New MIAMEX function MX_DIRCLEAN scans a specified directory, counting and/or deleting files based on various filter attributes.


1740.0.4

MX_FILESTATS now retrieves last access time.


1740.0.2

MX_FILETIMES now supports last accessed time and ability to redirect the operation to ATE.


1738.0.1

New cmdinput parameter to MX_SETCMDINP and MX_GETCMDINP allows enabling / disabling command file input for INPUT and INPUT LINE.


1735.0.3

New REGEX flag PCREX_NOT_PRECOMPILE (&h08000000) may be used with a single-character pattern to indicate that it is a string pattern and not a pre-compiled pattern #.


1735.0.1

New MIAMEX function MX_RUNPROF generates a run profile log which can then be analyzed for an overview of the program call structure and performance.


1732.0.3

New MIAMEX function MX_TRANSCOPY copies a file to another, applying a series of regular expression pattern match / replacement translations.


1732.0.2

REGEX.SBR: maximum number of pre-compiled patterns increased from 20 to 128.


1732.0.1

REGEX.SBR: Standalone pre-compilation (independent of pattern matching) now supports options flags using the syntax xcall REGEX, pattern, patno {,flags} where flags is numeric.


1730.6

MX_FILEPOS bug fix / refinement: now supports files beyond 2GB, provided that the pos parameter is sufficiently large (i.e. I6, F6, F8).


1723.0.1

Implement activity logging feature XRUNLOG hook.


1722.0.3

EMAILX.SBR 142: Remove limits on length of password (was 1024) and list of recipient addresses (was 25000).


1711.0.18

ISMROK.SBR enhancement: Add optional argument keyalc to return the new keys allocated value. Syntax:

xcall ISMROK, ch, idaalc, idaavl{, recsiz, keysiz, keypos, devdrv, idxalc, idxavl, idanxt, idxnxt, idx'lvls, idx'blk'siz, idx'type, keyalc}

 

1711.0.19

ISMPAR.SBX enhancement: Add new optional argument keyalc to return the new keys allocated value. Syntax:

xcall ISMPAR, ifname, ismpak {,lvl1cnt, keyalc}

1709.0.1

New subroutine MX_BASERR allows you to arbitrarily trigger a BASIC error.

1708.1.3

MX_FINDFIRST refinement (UNIX) : increase depth of directory processing stack from 3 to 20 levels (matching the limit under Windows).

1708.1.4

MX_FINDFIRST refinement (all platforms) : Overflowing the directory processing stack now generates BASIC error 33 (stack overflow). Previously it only returned a non-zero status, making it too easy for the calling program to continue running without recognizing the error, leading to incorrect or inconsistent directory scan results. Furthermore, after such an error, the stack was not getting reset, leading to more errors on subsequent multi-level directory scans.

1708.0.2

Add DYNLIB.SBR Parameter Types.

1708.0.3

New MIAMEX function MX_AS3264 returns A-Shell architecture, 32 bit or 64.

1708.0.4

New Subroutine JSON.SBRperforms some JSON-related utility functions.

1708.0.7

(UNIX) MX_FINDFIRST/MX_FINDNEXT refinement: extend the maximum number of nesting levels from 3 to 20.

1705.0

New MIAMEX function MX_DRAGDROP provides support for accepting files that are dragged and dropped onto a static text control.

1701.3.2

XTEXT refinement: the automatic use of the Active Background Color (introduced in 6.5.1698.0) can now be overridden by setting one or more bits in the high byte of the txc'bcolor field. Note that even though XTEXT treats a txc'bcolor value of 0 as meaning "default" (i.e. white), 0 is technically the RGB value for black. So if you want to override the Active Background Color feature, so that the background remains white even when actively editing, then you should set txc'bcolor explicitly to white (i.e. -1 or &hFFFFFFFF).

1698.0.1

Enhancement: update the File Open / File Save Dialog

1697.0.4

MSGBOX refinement: The timein parameter now applies selectively to each of the buttons (based on the xflags MBX_TIx bits), and is independent of the timeout value, except that the timeout value overrides the timein value for the default button. Previously the timein needed to be applied to all buttons for it to work at all, and there was no visual indication of the timein countdown.

1694.0.3

New MIAMEX function MX_GETUPTIME retrieves system and job uptime.

1692.0.1

New MIAMEX function MX_GETDPI returns the DPI for the workstation.

1690.0.1

TABX control refinement in AUI_CONTROL: you can now specify any of the label RGB attributes in the global attributes section of the configuration string (passed in the ctext parameter). Any attributes thus specified will be used as the default for any labels that do not specify their own RGB attributes. This eliminates the redundancy of having to specify the same RGB attributes on every label.

1690.0.2

MX_FINDFIRST / MX_FINDNEXT refinement: expand the previous limit on the maximum length of a filename from 123 to 255 characters.

1688.5

XLOCK.SBR refinement: if an out-of-queue blocks condition, or other queue system failure occurs while trying to place an XLOCK, it now returns a non-zero value in the MODE parameter, and also displays a messagebox clarifying the problem, with abort/retry/ignore options. Previously it merely displayed "?Out of queue blocks" but did not return an error code, so the application had no way of recognizing the problem. Note that the issue didn't affect FLOCK, which does return status 103 for these queue error conditions.

1688.1.4

HOSTEX.SBR refinement: The $ASHELL macro now includes the -cgi switch if applicable, which allows CGI programs to use HOSTEX to launch subprograms. Note that this also affects AMOS.SBR in situatons where it is forced to launch a new session.

1688.0.2

SHA3 Hash Algorithms in CRYPTO.SBR.

1684.6.1

MX_ROUND Refinements.

1679.0.3

Revisions to the parameter list in XMPP.SBR.

1679.0.4

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.

1676.3.2

XTEXT and AUI_IMAGE refinement: when either of these functions needs to transfer a file between the server and client via {S}FTP, they now use FTP2 rather than the older (and now deprecated) FTPDLX routine. Among other advantages of FTP2 is that it doesn't require registering a DLL on he Windows side.

1676.0

(Linux only) Add new subroutine XMPP.SBR, which allows sending of instant messages using the XMPP protocol.

1671.0.4

New MIAMEX function MX'FILETIMES to provide a way to set a file's time stamps.

1667.1

Refinements to the xMASCB hook support. Change the hook log version from version 1 to version 2.

1667.0.2

Support file hooks in the xMASCB.SBR routines.

1667.0.1

DYNLIB enhancement: new argument type "P" acts similarly to "p" but receives the size of a ">" argument. Useful for functions that return a pointer to a buffer in one argument and the size the buffer in another. The new AXL function Fn'LibXL'GetPicture uses this technique.

1664.0.1

New MIAMEX function MX_FILEVAR gets or sets the value of the file record number variable, and, in the case of ISAMA, the stats variable.

1662.0.3

Add FTP2 Opcode XFTPF_DIR.

1662.0.4

Add FTP2 Opcode XFTPF_RENAME.

1661.0.6

New MIAMEX function MX_GETWINFILEVER retrieves version of a Windows DLL or executable.

1660.1.3

ASHNET Library Update 1.12.165

1660.0.1

ASHNET Library Update 1.12.164.

1658.0.1

Add MX_FILEHOOK Support for ISAM-A.

1651.9.1

Add new Config File Options for EMAILX.SBX.

1650.1.2

ODTIM (SBR and function) refinements to handle OTIME >= 86400, i.e. more than 24 hours: If the omit date output flag is set and the 12 hour clock flag is not set, then the time is formatted as a cumulative value with no upper limit, e.g. 121:15:43. Otherwise, if the date is also being displayed, the date is increased by one for each multiple of 86400 seconds and the time reduced accordingly. For example, if ODATE = X and OTIME = 86401, then displayed date will be one day beyond X and the time will be 00:00:01.

1648.0.1

New subroutine OAUTH2 implements the industry-standard OAUTH2 protocol for authorization via the ASHNET library update 1.12.163.

1647.0.5

New MIAMEX function MX_DYNFUNC provides for DYNFUNC-related utilities.

1638.0

New MIAMEX function MX_SRCHPATH searches for a file in the system path.

1636.0.6

Various HTTP.SBR Enhancements.

1635.0.2

Enhancement to Add HMACs to CRYPTO.SBR, , update ASHNET.DLL to 1.11.160.

1628.0.1

Redesigned Subroutine Parameter Passing.

1621.0.2

New DYNLIB.SBR Opcode DCOP_DEREF "dereferences" a pointer to return the value pointed to.

1621.0.1

New DYNLIB.SBR Parameter Type '>' may be used to identify an indirect output string parameter.

1619.0

DYNLIB.SBR enhancement: now supports up to four dynamic libraries simultaneously. Previously it could only handle one at a time.

1618.0.1

TCPX.SBR: Add Optional Parameter Sockary() to manage an array of sockets.