BlackBox 1.7.2-a1 Changes

Features

#187 adding a run-time debugger to BlackBox
#189 improving the treatment of the sign bit in Math/SMath

Bugs

#184 HYPERLINK ignored in RTF import
#186 aligning code procedure syntax with docu
#188 compiler trap with SYSTEM.VAL

Details

#184 (Bug, 2018-03-21): HYPERLINK ignored in RTF import
Some RTF exporters add leading white space to the HYPERLINK field instruction.
This leading white space needs to be skipped in order to handle the HYPERLINK correctly.

In addition, the closing double quote of the link target needs to be removed.
This applies to all HYPERLINKs.

Reported by Helmut Zinn, 2018-03-12.

#186 (Bug, 2018-06-02): aligning code procedure syntax with docu
Dev/Docu/P-S-I.odc specifies that code procedures are a comma-separated sequence of constant expressions.
Leading, trailing, or multiple adjacent commas are not allowed.
In addition, the docu allows arbitrary constant expressions, not only integer and string literals.
The parser in DevCPP.GetCode therefore needs to be aligned with the docu.

Reported by Zorko, 2018-04-18.

#187 (Feature, 2018-06-07): adding a run-time debugger to BlackBox
It is proposed to add a run-time debugger for BlackBox.
A prototype of such a debugger is available from Oberon microsystems
and has been adapted to BlackBox 1.7 by oberoncore.
It is based on the Windows debugging API and is able to set code
and data breakpoints, do single step execution and more.
However, the user interface needs improvements and various changes
made in the post-mortem debugger since BlackBox 1.6 need to be applied
also to the run-time debugger.

Proposed by J. Templ, 2018-05-15.

#188 (Bug, 2018-06-16): compiler trap with SYSTEM.VAL
The following example leads to a compiler trap:

<pre>
PROCEDURE Test;
 VAR li: LONGINT; s: SET;
BEGIN
 li := SYSTEM.VAL(LONGINT, s * s) + 1
END Test;
</pre>

Reported by Oleg N. Cher, 2018-06-12.

#189 (Feature, 2018-07-05): improving the treatment of the sign bit in Math/SMath
It is proposed to add the functions CopySign and SignBit according to IEEE 754-2008 to Math/SMath. In addition, the implementation of Sign, Sinh, Tanh, ArcSinh, ArcTanh, Mantissa, and Real should return negative zero (-0.0) if the argument is negative zero.

Reported by Robert, 2018-06-19.