----------------------------------------------------------------------

ELOQUENCE B.08.30 - patch PE83-1911270

----------------------------------------------------------------------

This patch adds enhancements or fixes defects of the eloqcore language
runtime as released with Eloquence B.08.30-1810. This patch will be
integrated in the Eloquence B.08.30 release.

Eloquence B.08.30-1810 must be installed before applying this patch.

Severity:
 PE83-1911270: BUG FIX

Superseded patches:
 PE83-1910010: BUG FIX
 PE83-1909100: BUG FIX, ENHANCEMENT
 PE83-1906060: BUG FIX
 PE83-1905030: BUG FIX
 PE83-1904160: BUG FIX


Patch PE83-1911270
------------------

Platforms: Windows

* Fixed various problems affecting eloqcore text mode on Windows.

  Certain actions could cause inconsistencies in the eloqcore
  screen buffer on Windows, leading to unexpected output.

* If present, a user-specific eloq.rc configuration file is now
  read from the user's "home directory" on Windows.

  The Windows USERPROFILE environment variable is used to locate
  the user's home directory, typically C:\Users\USERNAME.


Patch PE83-1910010
------------------

Platforms: All

* Fixed missing timestamp prefix for log messages written to
  a log file created with the -log command line option.

* The Eloquence IDE debugger no longer truncates string variable
  values to 256 characters in the variables window.


Patch PE83-1909100
------------------

Platforms: All

* Fixed unexpected abort when accessing a TYPE variable after STOP
  (#4294). A message like below was issued:

  Internal error processing line 0
  Assertion failed: (cls->magic == 0x434c5344)
  file class.c, line 534 in function get_class_ptr

* Specifying a return variable for a DLG LOAD statement could have
  no effect (for example: DLG LOAD Filename$;Status).

  On DLG LOAD failure, a runtime error could be issued unexpectedly
  instead of assigning the error code to the return variable.

* Fixed wrong character conversion when using an Unicode \u escape
  sequence in a DLG file (#4299).

* Improved DLG v2 enhanced diagnostics and error handling (#4298).

  DLG GET ".status",Stat
  DLG GET ".status_msg",Msg$
  DLG GET ".status_seg",Seg$
  DLG GET ".status_file",File$
  DLG GET ".status_line",Line

  These statements now synchronize any DLG calls still pending in
  DLG v2 bulk mode. Previously, they could be invoked only after
  a DLG status had been issued (for example in an ON ERROR handler).
  Now they can be used anytime to make sure any pending DLG calls
  have been processed.


Patch PE83-1906060
------------------

Platforms: All

* Fixed DLG GET ComboBox.line[] unexpectedly resulting in ERROR 660,
  caused by incomplete attribute cache implementation (#4290).

  Please note that this fix requires JDLG version 2.0.3 or newer,
  available for download at:
  https://eloquence.marxmeier.com/download/jdlg/2.0/

* Fixed IPv6 addresses not recognized in -dlg command line option
  and DLG SET ".driver" statement.

  IPv6 addresses are now recognized in square brackets, for example:
  eloqcore -dlg [fe80::4261:86ff:feee:9437]
  DLG SET ".driver","[fe80::4261:86ff:feee:9427]:12345"


Patch PE83-1905030
------------------

Platforms: All

* Fixed a problem where POPUP BOX could unexpectedly return error 870
  (Improper POPUP BOX format) if the definition is passed in a string
  variable, caused by an incorrect string length calculation.

* Fixed incomplete DLG GET "Tree.udata[I]" result, caused by incorrect
  string length calculation if cached attribute values are returned.

* Fixed possible crash when obtaining enhanced DLG v2 diagnostics, for
  example DLG GET ".status_msg". A message like below was output:

  Assertion failed: (seg->magic == 0x5345474d)

* Fixed unexpected asynchronous execution of certain DLG SET statements.
  The statements below are now synchonously executed:

  DLG SET "Application.browser"
  DLG SET "Application.closeprinter"
  DLG SET "Application.openprinter"
  DLG SET "Application.print"
  DLG SET "Dialog.do"
  DLG SET "System.activate"
  DLG SET "System.sound"
  DLG SET "System.start"


Patch PE83-1904160
------------------

Platforms: All

* Fixed error 653 on DLG SET when using utf-8 encoding.

  The DLG functionality may internally use the multi-byte utf-8
  encoding where the number of bytes and characters may differ.
  The max. length of a text field (.maxchars attribute) was compared
  against the number of bytes instead the number of characters.


Installation:
-------------

Please download the patch archive that corresponds with the installed
release.  The patch files follow the conventions below:

   PE83-1911270-hpux-ia64.tar.gz
        ^       ^    ^
        |       |    Architecture / OS specific build
        |       Operating system
        Patch ID


HP-UX:

In order to install this patch, you need to unpack it with gzip and tar.
Gzip is included with HP-UX. Installation requires root privileges.

cd /opt/eloquence/8.3
gzip -dc /path/to/PE83-1911270-hpux-ia64.tar.gz | tar xf -

Files:

   bin/eloqcore
   share/doc/PE83-1911270-README


Linux:

In order to install this patch, you need to unpack it with tar.
Installation requires root privileges.

cd /opt/eloquence/8.3
tar xzf /path/to/PE83-1911270-linux-86_64.tar.gz

Files:

   bin/eloqcore
   share/doc/PE83-1911270-README


Windows:

Two options are available for patch installation. The patch is
available as self extracting archive for automatic installation
and as a zip archive for manual installation. Both patches are
equivalent. Installation requires administrative capabilities.

For automatic installation of this patch, please download the patch
file PE83-1911270-win32.exe. Before installation, please consider
stopping the database server, then execute the patch installation
program. Installation does not require a reboot unless the patched
files were active.

For a manual installation of the patch, please download the patch
file PE83-1911270-win32.zip and unpack its contents. Then perform
the following steps:

* Please copy the eloqcore.exe file into the Eloquence bin directory.
  (Default location: C:\Program Files\Eloquence\8.3\bin)

* Please copy the PE83-1911270-README.txt file into the Eloquence
  share\doc directory.
  (Default location: C:\Program Files\Eloquence\8.3\share\doc)

Files:

   eloqcore.exe
   PE83-1911270-README.txt