Please enable JavaScript to view this site.

A-Shell Development History

906.3.1

COMPIL.LIT 1.0(115), (plus OCMPIL, COMPLP variants) now support /X:3 switch, which is like /X:2 but creates a .SBX file instead of .RUN.

Note that /X:3 does not disturb an existing .RUN, so it is now possible to compile the same source both into a .RUN and a .SBX, as follows:

.COMPIL MYPROG/X:2     ; create MYPROG.RUN

.COMPIL MYPROG/X:3     ; create MYPROG.SBX

 

However, in order to make this workable, you'll need to modify the XCALL.BSI file to merely set a flag indicating if it is running in SBX mode or not, instead of aborting with an error message if run directly using RUN MYPROG. You would then test that flag to decide whether to pick up and return parameters.

906.3.2

Internal compiler now supports the following pragmas:

++PRAGMA SBX

++PRAGMA FORCE_EXT "SBX"

 

The first form forces /X:3, which among other things forces the extension of the compiled module to be SBX. The second form just affects the extension without setting any compiler switches. (It, however, allows you to set set the extension to anything you like, up to 3 characters.)

Note that ++PRAGMA requires at least /X:1, so in order to use the above technique to compile a batch of BAS files into a mixture of RUN and SBX output with the same compil command, the command would have to be COMPLP or COMPIL/X:1 or COMPIL/X:2.

906.3.3

The sample program RECOMX 1.1(105) in [7,376] has been updated to look for SBX output, and all of the SBX source files released in that directory now contain the ++PRAGMA SBX, so it is possible to erase *.RUN,*.SBX and then COMPIL RECOMX and RUN RECOMX to recompile all of the sample programs, creating RUN and SBX output as needed.

906.3.4

GETPRG.SBR now supports program names up to 10 characters long, and also supports an optional second argument which will return the current SBX name if called from within an SBX:

xcall GETPRG, prgnam$ {,sbxnam$}

906.3.5

Various internal routines which retrieve the program name now support up to 10 character names. The exception would be any routine, like GETJTB.SBR, which has program name mapped within a structure as S,6.

906.3.6

SET.LIT 1.2(141) supports a SET LONGDIR option, which forces DIR to act as if the /L{ONG} switch had been set.

DIR.LIT 3.0(133) now checks the SET LONGDIR option (see above), and if set, uses the /L format (allowing for up to 10 character long names).

SYSTAT.LIT 3.0(150) supports a /I switch which shows IP addresses. It also fixes a problem with sorting.

906.2.1

(Windows/ATE) GUI version of XCALL MESAG messagebox is now forced to be visible. Previously, if the bottom or edges of the A-Shell Window were off the screen, the message box would also be off the screen.

906.2.2

WRITECD/WRITETD will convert any embedded quotes (") within a field into apostrophes ('), to try to be more compatible with other CSV readers. It will also now put double quotes around any field containing quotes or apostrophes (in addition to commas and tabs, as before).

Also note, although this is not a change, the procedure for breaking up a single line of CSV output into multiple WRITECD statements:

WRITECD #CH, A, B, C,;

WRITECD #CH, D, E, F

 

This will output the 6 variables on one line. Note that that the comma after the C and before the semicolon is required. If you omit it, the D output will immediately follow C with no delimiter. If you omit the semicolon from the first line, then you'll get two lines of output.

906.2.3

(Windows/ATE) Fix a minor problem with INFLD multiline (||M) mode in which the CRLF line terminators were not being treated as a single unit, which allowed the cursor to get moved in between the CR and LF, and one to be deleted without the other, which caused little graphic characters to appear.

906.1

(UNIX) Fix problem with INFLD returning garbage in INXCTL under ATE.

906.2

(Windows/ATE) New version of XTREE control (SftTree_IX86_A_50.DLL) released. No expected change in functionality, although future improvements based on this update are planned.

906.3

Fix a problem with ATE and TAB(-10,x) functions not working when the job is in silent mode.