A.06.31 Release Notes
This document covers fixes and enhancements which have been integrated
into the Eloquence A.06.31 eloq and eloqcore programs.
Contents of this document:
Please refer to the DLG Enhancement document
for more information in dialog releated changes.
A new -dlg command line option is supported by eloq and eloqcore
Status codes when the ASYNC protocol mode is used are no longer returned
to the application but the first status code one is saved.
The saved ASYNC status code error can be retrieved with the
DLG GET ".async_status",R statement.
The DLG GET ".driver_type",Result$ returns the driver
type or an empty string.
A DLG SET ".debug",1 can be used to output ASYNC status codes
The new Log identifier 'G' can be used to request GUI related debug
The interpretation of dialog resource files has been enhanced to support
setting attributes of child objects.
Previous Eloquence versions returned an syntax error. (#503)
A DLG GET with a string result is always considered valid.
Integer results are converted to a string.
Previous versions returned an empty string if an integer
result were to be assigned to a string variable. (#161)
The number of databases which can be opened simultaneously from
Eloquence has been extended from 20 to 50 (#109).
The LIST statement could return extra decimal digits for a
program constant (#222).
The line above was output as
The output format for program constants has been changed
to be more consistent with previous Eloquence versions:
A value with more than 5 trailing zeros is display in
float format (1E6). Previously values with 4 trailing
zeros were displayed in float format.
A value with more than 4 leading zeros is displayed in
float format (1E-6). Previously values with 3 leading
zeros were displayed in float format.
The list command line utility and the HP Eloqence IDE have been
The POPUP BOX statement could return wrong error numbers if a
driver was set (#18).
A rounding problem has been fixed which could affect string conversion.
For some values the result was truncated instead of rounded (#104).
Printed in 1234 instead of 1235
Printing specific numeric values could cause a crash in eloqcore due
to a buffer overflow.
Pressing the HALT function key (system functions) did not trigger
ON HALT in a WAIT statement.
A failed DLG SET .driver could result in an unexpected termination
Matrix operations could fail with an internal error if the
destination matrix had more elements than the source matrix.
Switching screen width (CRT COLS= statement) did not refresh
the screen. (#221)
ON DELAY did not work correctly. Only the first timer interrupt was
processed. After that any ON DELAY timer interrupt would be ignored
and a timed WAIT would never expire.
An INPUT statement was not interrupted by serial data (TIO)
as specified with an ON INPUT statement (#268).
eloqcore did not use primary TASKID values on the Linux platform (#358).
eloqcore has been changed to make use of primary TASKID values
when started in foreground.
The -log option did not work correctly on a glibc 2.1 (or newer)
based system when using the libc6 build.
eloqcore did not correctly fallback to the default message catalog
when the LANG environment variable was set to a value other than "C".
A DBLOCK on a remote database running on an x86 platform (Linux,
Windows) could crash eloqcore with a SIGBUS due to an alignment
The PAUSE key can now be used as a HALT key.
ON DELAY did not interrupt an INPUT statement.
Under certain circumstances eloqcore did not start-up in background
mode. This especially happened if "Hide local EloqCORE console window"
was checked in an Eloquence start file configuration.
Error message: Failed to get screen buffer info
Given an unknown hostname or IP address in DLG SET ".driver" could
cause eloqcore to hang infinitely.
The PRINTER is statement has been modified in A.05.01 (and documented
in the A.05.01 release notes) to support passing the output to
operating system commands through a pipe.
This was missing in the A.06.00 documentation (#496).
If the PRINTER IS statement is used with a string argument
and the first character of the string is the '|' (pipe) character
the remaining string is understood as an operating system command
instead of a file name. All output is passed as stdin to the
This makes it possible to dynamically use operating system capabilities.
The following example sends all output to lp program:
PRINTER IS "|lp -dlj -o2"
This does NOT affect printers assigned by eloq.config etc.