A.06.30 Release Notes
Possible wrong scroll indicator with ASCII DLG. When using the .cx
method to set the cursor x position in ASCII DLG a scroll
indicator may be drawn which is not required. (#672)
Single line functions with a member variable cause an
internal failure in eloqcore and store while parsing the statement. (#666)
DEF FNFunction(STRUCT This)=(This.Member<>0)
-> Assertion failed: (cg == 1) file codegen.c, line 1142
A problem with list causes the "array indicator" (*)
to disappear when using a structure array member as a SUB/Function argument
(#652). For example:
A scanner anomaly has been detected. The statement
"NEW Fu_ns AS New_sales" results in a syntax error due to a
conflict with the ASN keyword. As a workaround you can use
a colon instead of AS: "NEW Fu_ns:New_sales" (#663).
Cross reference (list -x) complains about user defined types
The cross reference (list -x) currently has some problems dealing
with user defined types (STRUCT). It is complaining about
multiply declared or unused member variables. (#458)
Handling programs with embedded NUL characters (#606)
The HP260 made it possible to embed NUL characters into strings.
While Eloquence is able to execute such a program, the program
listing is inconsistent, since a NUL character is used internally
as a string terminator. This may cause program corruption if
such a program line is modified.
Embedded NUL characters are now converted into a CHR$(0) expression.
However this may cause a syntax error when a string constant is
replaced by an expression due to an embedded NUL character when
only a string constant is valid.
The dbtables utility does currently not report collating
sequences and data set capacity.
Eloquence does not accept an implied LET using a
structured type after a THEN.
As a workaround, use an explicit LET. (#392)
IF Condition THEN LET Instance.Member=25
The Eloquence syntax analysis results in a syntax error with
the statement below:
FOR I=1 TO A STEP C
The problem is, that the keyword AS is recognized errorneously.
As a workaround, simply use a different variable name or use an
expression (eg. A+0). (#454)
- QFIND with IN clause on an index may return
unexpected results if the collating sequence of the index and the
program executing QFIND is different.
QFIND internally uses DBFIND to position into the index and then
retrieves data in index order until the max. value is exhausted.
However the max. value is checked using collating sequence (this is
required to handle national characters properly, eg. in German A umlaut
needs to be inserted between A and B).
If the max. value is greater (or less) than the first index value
retrieved from the index, this will result in either an empty result
or an unexpected number of result records. (#493).
- The Linux curses implementation (ncurses) has problems with
HP terminal types, enhancements could be displayed wrongly.
The workaround is to use HP terminals and the WRQ Reflection/1
emulation software in the EM220 mode.
Eloquence A.06.20 includes a terminal definition for the
em220 terminal type which can be used with HP terminal types.
When using Telnet, pressing the BREAK key causes eloqcore to abort.
This is related to a different behaviour of the Linux telnetd server.
- In Reflection, you should choose the TELNET BREAK setting on
the open connection dialog. This will avoid to kill eloqcore
on Ctrl+Break - it will become the equivalent to ^Y.
In order to have a HALT/BREAK key, you can use the keyboard
mapping function. Just send a NUL byte for a break.
You can do this with the RCL function TRANSMIT "^(0)".
For example: To assign the F12 key to break, open the
keyboard map dialog, select the F12 key in the upper area,
select "RCL Command" from the Combo-Box and enter the
RCL command TRANSMIT "^(0)"
- This works with HP-UX as well, so you can use a common setting.
Switching to 132 column mode is currently not supported on Linux
console (error 880 is issued). This is a limitation of the Linux
console driver which makes use of VGA hardware. (#526)
The list of terminals which are capable to switch between 80/132
column mode is hard coded into eloqcore. Eloqcore returns error 880
when the terminal type not included in this list.
Linux console limitations:
- Underline is simulated by colors on a color display
- Dim ("half bright") is simulated by colors on a color display
- Mixed enhancements don't work as expected
When the Command Window is configured to "Full Screen" instead
if "Window" mode (in Settings->Control Panel->Command) this
will cause a full screen command window to appear whenever
eloqcore is started.
This seems to be a problem in Windows, which works differently than
specified. As a workaround you should not set the Command Window
to "Full Screen" mode. (#585)
- Handling of constant values in the graphical devlopment environment.
It has been reported that a constant value could change its representation
from normal (181295) to exponential notation (1.81295E5) when the
cursor touches the line. (#461)
Some trace output could be lost when executing eloqcore locally. This is
caused by Windows NT which simply discards any networking data when the
eloqcore process ends and the IDE did not yet receive all trace information.
Output of system commands is lost, when the command contains a pipe.
This does at least happen with the mks shell. This seems to be a problem
with the Microsoft C runtime (msvcrt.dll).
For example: COMMAND "!ls -l|grep Feb"