Please enable JavaScript to view this site.

A-Shell Development History

1387.9.1

Compiler bug fixes (edit 682): spurious errors on DIMX with structure after previous real error; phase 0 message was incorrectly associated with /N instead of /S; spurious errors related to memory overflow condition

1387.9.2

Compiler bug fix (edit 683): fix problems with handling non-constant, undefined symbols used in conditional expressions during Phase 0 or in APN tagging mode.

1387.9.3

Compiler bug fix (684,688): overlays in defined structures were failing to compile properly—i.e. were generating spurious compiler errors—when arrays or structure nesting was involved.

1387.9.4

Compiler enhancement (685): LSX file now shows offsets for members within instances of structures.

1387.9.5

Compiler bug fix (686): First $COPY directive in a program was sometimes resulting in a bogus syntax error, and/or real errors that were reported on the wrong line number.

1387.9.6

Compiler bug fix (687): Minor aesthetic fix to LSX representation of DIMX structure instances.

1387.9.7

XTREE bug fix: resetting the configuration was sometimes resulting in very tiny row heights.

1387.8.1

Compiler bug fix (edit 681) - Reduce/eliminate some unnecessary/excessive work area memory allocations.

1387.8.2

Compiler bug fix (edit 682) - Fix a memory corruption problem introduced in edit 678 that was resulting in spurious syntax errors under Linux.

1387.8.1

Compiler refinements (edit 680)

In background mode (e.g. when called by APN), certain startup errors (like no such file) weren't being captured, thus giving the impression that the program compiled without error, although it was correctly reporting exit code 1 which does indicate an error.
In /P mode, certain errors (like missing ++includes) were resulting in later spurious errors, which was confusing.

1387.6.1

Compiler refinement (edit 678)

Improve error reporting on missing ++endif; now lists all of the unmatched ++if statements in the stack.
Fix problems with files with no line terminator on the final line; in some cases these lines were being ignored.
Fix a problem with the auto $COPY <prog>.VER (see edit 675).

1387.6.2

Compiler refinement (edit 679) - ++PRAGMA ERROR_IF_NOT_MAPPED "FALSE" may now be used to override /M or a previous "TRUE". Previously it was only possible to enable the /M switch, not disable it. Note that you can now turn the option on and off multiple times within a program, allowing you to get the benefit of the for new sections of code without being forced to clean up the unmapped variables in all of your code—i.e. in all of your include modules.

1387.5.1

Compiler bug fix (edit 676) - fix problems falsely treating as existing a structure XXX when there existed a structure XXXY—i.e. when XXX was a subset of the name of an existing structure. Caused ++ifdef statements based on structure definitions to act incorrectly.

1387.5.2

Run time bug fix: close a window in the MX_PWCRYPT routines which may have allowed a memory fault.

1387.4

Compiler enhancement (edit 675) - on first $COPY, attempt to also include <prog>.VER if it exists.

1387.3.1

Compiler enhancement (edits 672,674) Support Madics $COPY directive - similar to ++include but with default extension .cpy and different search path:

{current ppn}
{Current disk}: [current prog, 3]
[200,3] (after [p,3])
{Current disk}:[200,3]
DSK43:[1,13] (before DSK10:[1,13])
DSK10:[1,13]
DSK10:[2,13]

1387.3.2

Compiler refinement (edit 673) - adjusts edit 668 to allow a locally defined structure variable with same name as a module or global variable provided they are same type of structure.

1387.3.3

INFLD enhancement: new TYPE ||k flag disables internal too-fast input filter, which may otherwise cause characters fed via a burst to be dropped.

1387.3.4

Runtime refinement: set limit of 99 nested function/procedure calls (previously unlimited) as a way of reducing the likelihood and severity of problems caused by accidental infinite recursion.

1387.3.5

Windows/ATE refinement: prevent rogue control characters appearing in an ATE response packet from being confused with terminal driver multi-character lead-ins, which may have caused the terminal to appear hung.

1387.4

Compiler refinement (edits 669-671) - APN-related internal adjustments.

1387.0.1

GDI Printing Enhancement: single-line TEXTRECTANGLE now supports character wrap in the 90, 180, -90 and -180 rotations. Previously only word wrap was supported and if any lines were too long, the output was way out of position.

1387.0.2

XTREE Enhancement: Support added for Vertical Radio Button Groups.

1387.0.3

XTREE bug fix: minor adjustments to self-service combo cells. Previously it was possible to get exitcode -43 instead of 29 when selecting the drop-down on a combo on the bottom row. Also, it was possible to display the "..." by hitting down-arrow without exiting the combo.

1387.0.4

XTREE bug fix: in some cases, optimization of returned answer array was failing, resulting in the entire array being transferred back to the hostwhen only a small section of it needed to be transferred.

1387.0.5

AUI_CONTROL bug fix: multi-line static text with MBF_WORDELLIPSIS and MBF2_CUSTDRAW was in some cases leaving an ellipsis on more than just the last line.

1387.0.6

ATE password update fix: When launching an ATE connection that was previously saved under a pre-1385 version, the connection dialog was prompting for the password again.

1387.0.7

Windows keyboard processing refinement: hitting ENTER rapidly while a new dialog was being created was sometimes creating the effect of having hit ALT+ENTER (toggling the main window between normal and maximized).

1387.0.81

APRNTSCRN now includes the ability to email a copy of the ashlog.log or other log file.

1387.0.9

AG_FTPSYNC bug fix: the ATSYNC /D option was deleting all the files in the local target directory, regardless of whether they were on the server. Problem was introduced in 6.1.1369 along with several previous enhancements to ATSYNC. This is internal to A-Shell and doesn't require an update of ATSYNC.LIT.

1387.0.10

ATSYNC.LIT 1.3(120) refinement: /D now explicitly ignored with /F mode. The delete option doesn't really make much sense when not syncing an entire directory; attempting it could have had strange side effects.

1387.0.11

TELNET.LIT 2.1(143) now cleans up .TMP files in the 001004 directory on exit. Certain operations, particularly ATSYNC, have a bad habit of leaving behind such .TMP files.

1387.0.12

FTP2.SBR bug fix: it wasn't properly decrypting the new type 3 encrypted passwords.

1387.0.13

Compiler (edit 668) now flags as an error an attempt to define a local structure whose name matches an auto-externed global or private (module) structure. Although this would be technically legal, it invites confusion likely to lead to difficult-to-detect bugs, especially when the local and module/global structures aren't even the same layout.

1387.0.14

Compil.exe (edit 668) supports -so switch to output errors to stdout rather than to a file or window. This makes it easier to interface with certain editors and IDEs.