Please enable JavaScript to view this site.

A-Shell Development History

984.9.1

Close a loophole which allowed A-Shell to crash while executing certain subroutines that access CONAME.DAT (such as PRINT.SBR and PGMID.SBR) when the fully qualified path to CONAME.DAT was longer than 50 characters. This goes back to version 1.0 of A-Shell, and was apparently just now noticed as people are getting more adventurous about defining A-Shell devices using long paths.

984.9.2

INMEMO search function (MMO'SCH) no longer waits for memos that are locked by other users for editing. Instead, it returns with POS=0 (pattern not found), but EXTERR=2. Since the memo search operates on only one memo at a time, this prevents programs from getting hung, while still allowing the program to detect the situation and retry if desired. But in most cases, treating a locked memo as not matching is reasonable, since if it is being edited, there is no way to know what it will be like after the updated memo is re-saved.

984.9.3

A-Shell/Windows and ATE no longer allow more than one modal child process to be launched at a time. This was mainly to eliminate the case under ATE where the Connection Properties dialog could be launched, then covered by another window, then launched again. But it could also apply to custom menus that launched programs that A-Shell was forced to wait for. The main danger with such scenarios is that the user could easily get the impression that A-Shell was hung, when in fact it was merely suspended waiting for multiple processes.

984.9.4

ATE trace/log function was in some cases capturing files with CR CR LF rather than the normal CR LF line terminators. This was not a problem for VUE, but would have left the appearance of a garbage character in most PC-based editors like Notepad.

984.9.5

XTREE: Ending column coordinate is no longer limited to the maximum number of columns in the main window when the XTREE is in a dialog. This limitation makes no sense in a dialog (especially when the dialog doesn't even use the main window coordinate system).

984.9.6

Close a loophole in the LOKSER-style locking routine under A-Shell/UNIX that was allowing a segmentation fault to occur with certain unexpected locking errors (like trying to lock a non-existent file).

984.8.1

(UNIX) Drivers am62c, am75 and wyz50 now support TAB(-10,x) commands. One consequence is that you can now use ATE server-based licensing with these emulations to experience non-GUI operation of your application. (Many routines that work in both text and GUI modes, such as PCKLST and MSGBOX, will use text mode if the terminal emulation does not end with G. See note #8 for 984.3 below for another angle on this same issue.)

984.7.1

UNIX Spooling: Setting SBR=SUBMIT2 in the miame.ini now affects the spool operation in the same way as XCALL SUBMIT.

984.7.2

XTR'COLUMNACTIVE Fixes.

984.6.1

Fix "dancing icons" when window is resized.

984.6.2

AIX fix: Fix high-byte low-byte problem with VXCALL and XFUNC() under big-endian machines such as AIX and HPUX. Was causing VXCALL and XFUNC() to report subroutine not found (with the halves of the name reversed).

984.6.3

Fix problem with scaling of controls containing images (static and button controls with icon or bitmap images). They would display initially at the desired size, but then get distorted when the window was resized.

984.6.4

Fix bug in computing the AltPos grid width. Bug was introduced in 984.3 and was probably only noticeable in programs that retrieved the grid size using AUI_WINDOW and then made calculations from it, and was further limited to desktops where the aspect ratio of the font width to height was more than about 43%.

984.6.5

MBF_AUTOGROW no longer sets the control size 4 pixels smaller than necessary. (This was causing strings to sometimes not fit in the control, even when the MBF_AUTOGROW bit was set.)

984.5.1

Force maximized dialogs (created with MBST_MAXIMIZE) to have a maximize/ unmaximze button, even if MBF_MAXBUTTON not specified. Without this, the dialog will cover the task bar, which is generally disconcerting.

984.5.2

MX_WINSETTINGS now returns allows setting/querying the fixed and GUI fonts. The associated id values are AWS_FONTFACE (16) and AWS_GUI_FONTFACE (17).

984.5.3

JSTAT.LIT 3.1(106) Fixes problem with PPN display (octal/decimal confusion) and adds recognition of several new opcodes.

984.5.4

MIAMEX, MX_GETOFD fix/refinement: Previously, if there was a problem with the filespec or some other parameter, the dialog would simply not appear, without any error message or indication of what went wrong. To avoid this, A-Shell will now pop up the debug message window (if not already open) and report the error number. Unfortunately, there is no easy way to get the description of the error, so we will be adding a reference list to the documentation.

The most common error seemed to be "invalid filename", which could have been as simple as no filename at all. For example, if you set path="c:\" or even c:\temp" it would have failed with this error. The routine now tries to head off those issues by appending a "\*" as needed to the end of the specified path to make the dialog happy.

984.4.1

Maximizing an altpos dialog now adjusts the overall dialog font scale factor (rather than just the grid spacing). In other words: if maximizing a dialog causes it to double in size, then the fonts will most likely be approximately doubled in size as well.

984.4.2

Fix a problem with the dialog resizing logic in which displaying a non-maximized dialog while there was a maximized one visible was causing the maximized dialog to get temporarily un-maximized.

984.4.3

XTREE fix: Resizing an XTREE indirectly. by resizing the window containing it, no longer affects the default XTREE item font. Previously, in some cases, the item font was getting resized, but this was creating havoc with the column spacing. Leaving the XTREE fonts alone during resizing eliminates that problem. Note that consequently, unless a column had a Dspmin= or Dspwid= specification, the font width will not change, and thus it will be mainly the last column that changes width. (Columns with Dspmin or Dspwid specifications will be resized to match the resized grid.)

984.4.4

Fix: debug message window positioning logic for multi-monitor systems wasn't quite right. The message will now appear on the monitor that the A-Shell window is primarily on.

984.4.5

When the XTREE and XDEBUG traces are activated, the debug message window will now show the column definitions. This will be useful in debugging code that involves conditional assembly of the COLDEF parameter.

984.3.1

OPTIONS=NUMPAD_COMMA wasn't working in INFLD (GUI mode), XTREE or XTEXT.

984.3.2

Make serveral Compiler Fixes.

984.3.3

Fix a problem with Dialog Sizing where small adjustments weren't having an effect.

984.3.4

MX_WINSETTINGS: Calling it with opcode 1 to set values was causing the "dancing icon" effect, even if the new values were no different than the old ones. It now ignores changes that aren't really changes.

984.3.5

Maximized dialogs may be created in AUI_CONTROL by specifying the MBST_MAXIMIZE flag.

984.3.6

Impose a reasonableness standard on the AUI Altpos Grid.

984.3.7

XTREE: Roll back/modify item 4 under 984.2 below. Now, in order to force the standard row height to match the cell editing height (about halfway between single and double spacing), you need to set XTR'ITEMLINES = -1 rather than 0. (Apparently several people were relaying on the fact that XTR'ITEMLINES=0 was acting like XTR'ITEMLINES=1 and didn't appreciate their row heights increasing.)

984.3.8

XCALL MESAG now bases the decision to use a GUI or text display on the AGF_GUIEXT flag bit (from AUI_ENVIRONMENT), rather than the on the mere fact that the terminal driver supports the "GUI" feature bit (which is true for PCTDVG, AM62CG and AM75G). This should be no different than before, except that it gives you the ability to disable GUI mode using AUI_ENVIRONMENT. This also applies to certain INFLD auxiliary logic.

984.3.9

Fix problems with Up-Down (spinner) controls and calendars not being positioned properly after resizing a window.

984.2.1

Debug Message Dialog was not displaying in the upper right corner of the screen when the A-Shell window was running from a secondary monitor. It now displays in the upper right corner of the monitor that it was launched from.

984.2.2

XTREE fix: The feature displaying negative numbers in red was not working properly for values between 0 and -1 in locales that switch the decimal point and comma.

984.2.3

ATS fix: In some timing circumstances, input characters were appearing twice in the input buffer. The only situation where this was actually reported was in the case of reading the screen using TAB(-1,20), but theoretically it could have happened in other cases. (Note: the fix is in ASHW32.EXE but only affects ATS connections.)

984.2.4

Fix/enhancement a feature involving XTREE row height issues.

984.2.5

AUI_CONTROL bug fix: RGB values passed in the FGC and BGC parameters were getting truncated to 16 bit (causing weird colors results in ATE).

984.2.6

Fix a parameter passing bug that involved the invalid Truncating of floating point arguments.

984.2.7

Compiler bug fix: "Missing ENDIF" error was not reporting the correct IF statement location when it occurred in a ++include other than the last one.

984.2.8

AUI_CONTROL fix: Using CTLOP_CHG to change a control from MBST_HIDE to MBST_DISABLE+MBST_SHOW was showing but not disabling the control.

984.2.9

TAB(-10,AG_SHLEXEC) and XCALL MIAMEX,MX_SHELLEX with the wait option 2 (don't wait, get focus back) was setting the focus on the main A-Shell window rather than the current dialog.

984.2.10

TAB(-10,AG_AUTOPARENT) wasn't working properly if there was a leading space in the parent control number (which was easy to get unless you used a STR() function to convert the control ID value to a string before passing it to the PRINT TAB statement).

984.2.11

PolyShell fix: Internal message box routine (used by MSGBOX.SBR and also by many internal messages) now reverts to text mode for jobs running as PolyShell children. (This allows them to use the PolyShell hot key when waiting in a message box.)

984.2.12

Fix problem that MX_WINSETTINGS changes were not always taking effect immediately.

984.1.1

Close a loophole in which A-Shell/Windows was failing to respond to Windows events (like mouseclicks) for an excessive time while in a CPU bound state.

984.1.2

(UNIX) Log unexpected events in lock routine for the purpose of identifying cases where a wait on a lock was interrupted by a kill signal.

984.1.3

Minor refinement/cleanup of GETMAC.SBR under A-Shell/Windows.

984.0.1

ATS change: udate ATSD to version 5.0.105; now supports -z switch (in the CommandLine= in the atsdsrv.ini) to run from system tray. Also supports installation in directories with spaces in them.

984.0.2

Fix the Windows installation software so that launching A-Shell from the option at the end of the installation/update now works if the install directory has spaces in it.

984.0.3

XTREE: Using "|" in the answer array to make an otherwise editable cell be non-editable wasn't completely working. (Navigation skipped the cell but a direct click on it would activate it.)

984.0.4

Fix TRACE=LOG segmentation fault in AIX.

984.0.5

ATSD now supports a -z switch to make it run from the system tray (same concept as A-Shell's -zi switch.)

984.0.6

ATSD and ATSRSRV now support running from directories with spaces in them. They are also now both code signed, so Windows security doesn't report them as being from an unknown publisher.