1778.2.1 EIR |
BASORT: maximum record size increased from 4K to 6K. |
|---|---|
1778.1.1 Fix |
PYFUNC(): numeric arrays weren't being returned propertly. |
1778.0.1 New |
The Xcall trace now traces return parameters for Xcall subroutine calls. |
1778.0.2 New |
LOGDIR enhancements enable the relocating of the ashlog.log file directory. |
1778.0.3 EIR |
Command line switch refinement: the -ua switch (unattended) now has an additional side effect under Linux to allow background jobs to sit at input prompts without aborting. Normally a process in background will terminate when it tries to input if it doesn't have a real terminal and there is no piped input available, which normally makes sense. But in some cases, it is useful to be able to launch a background task and let it wait for input to be forced to it via the FORCE command. In particular, this technique is used by ADB when debugging a process running in a background task launched by ADB itself. |
1778.0.4 EIR |
Command prompt refinement: the cursor is now automatically turned on whenever waiting for input at the command prompt. Previously, the cursor status would carry over from the last command that affected it, often making it difficult to edit a command line with no visible cursor. |
1778.0.5 New |
XTREE enhancement: Add new flag to Ignore ExitChars While Editing. |
1778.0.6 New |
INFLD enhancement: Type code |{ causes the setdef parameter to be treated as a list of immediate exit characters, which is similar to the ExitChars feature in XTREE. Receipt of any of the characters specified causes the field to exit with exitcode set to -51. The existing contents of the field are returned, minus the character causing the exit. |
The xcall trace (e.g. SET TRACE XCALL ON) now traces return parameters for xcall subroutine calls. Previously, only the parameters passed to the subroutine were traced.
For internal subroutines, the return trace is identical to the calling trace except it will show the updated parameter values. To take a simple example, the following traces:
xcall XSTRIP,S20[ ABCD123 ],S3[123],F8[1]
<---- XSTRIP,S20[ ABCD ],S3[123],F8[1]
... show the xcall XSTRIP being called with the first parameter " ABCD123 " being changed to " ABCD " on return.
Note that there are a few xcall routines, including STRIP (but not XSTRIP) which are converted by the compiler to internal functions, in which case they will not show up in the traces.
For external (SBX) subroutines, it isn't necessary to list the entire parameter list on return because any explicit parameter updates require the user of XPUTARG, which is also separately traced. See the notes for 7.0.1776.0 below which covers XPUTARG tracing in the context of user defined functions but which applies equally to SBX subroutines.
In addition to relocating the ashlog.log file directory via the MIAME.INI LOGDIR directive, you can now do it from the dot prompt with SET LOGDIR, or via Xcall MIAMEX, MX_LOGDIR (206).
.SET LOGDIR ; with no argument, displays current location
.SET LOGDIR dirspec ; changes the ashlog.log directory
xcall MIAMEX, MX_LOGDIR, op, dirspec
where:
opcode (Num) [in]
0 for get, 1 for set
dirspec (String) [in/out]
ashlog.log location
Although it is probably uncommon to change the ashlog location during a session, it comes in handy during debugging on a system with many users, in conjunction with verbose traces like XCALL and FUNCS. Rather than fill the common ashlog.log file with your traces, you can relocate the ashlog location for just your session to a local directory (or '.' for your current directory). You can then use the VIEWASHLOG/LOCAL switch to view the traces in your local copy of the ashlog.
XTREE: Ignore ExitChars While Editing
Add field MISCFLAGS2 to the XTRCTL structure to support the flag, XTMF2_IECWE (&h01) to Ignore ExitChars While Editing. Otherwise, ExitChars are active in all contexts. Note that even when the new flag is set, they remain active in editable checkboxes, but not in any other kind of editable field.
The updated XTRCTL map and defstructs can be downloaded from the SOSLIB, but here is the what the tail end of the structure now looks like:
map2 FOOTERSTYLE,B,1 ! [138] same XTHSF_xxx flags as HEADERSTYLE (6.3.1537+)
map2 COLID,B,1 ! [140] column ID
map2 COLTYPEID,B,1 ! [141] column Type ID
map2 XDIRTY,B,1 ! [142] exit cell (XROW,XCOL) was changed (i.e. dirty)
map2 XDSPROW,B,4 ! [143] display row corresponding to physical XROW
map2 FILTERED,B,1 ! [143] =1 if rows have been filtered by user
map2 SYNCCTLNO,B,1 ! [144] XTR.CTLNO (+1) of XTREE ctl to sync scroll with
map2 MISCFLAGS2,B,1 ! [145] Misc flags2, see XTMF2_xxxx
map2 UNUSED2,X,2 ! [145]
And the new flag symbol definition:
define XTMF2_IECWE = &h01 ! Ignore ExitChars While Editing