13.20.3 Bugs Fixed
-
Error handling bug in floating point overflows caused (a) spurious
memory resource errors, (b) different interpreted and compiled behavior.
SP_printf()
stopped working if the output exceeded 2048 bytes.
-
Unintended limitation, max 100 million interpreted clauses in memory, lifted.
-
predicate_property/2
with nonvar second argument would lose solutions.
add_breakpoint/2
warns if an undefined predicate is specified; it used to
silently accept any well-formed predicate identifier.
length/2
: used to loop if first argument cyclic or second
argument very large. Conformance with proposed future ISO standard.
when/2
could cause stack overflow.
- Declarations are silently ignored if they would have no effect.
[File|Files]
now uses the calling module context for the second
(Files
) argument, as documented.
stream_property(S,encoding(CS))
would succeed twice for
bi-directional text streams. It now succeeds at most once and the
per-direction encoding information can be obtained with the new stream
properties input_encoding/1
and output_encoding/1
.
-
In trace mode, the debugger would stop at spurious calls among code in
hidden modules, which was never intended.
- On Windows, the
absolute_file_name/3
option glob/1
is now case-normalized, just like the file name.
aggregate:term_variables/3
steadfastness bug. Note that this
is largely made obsolecent by the new built-in term_variables/2
.
library(xref)
and spxref would loop on cyclic import dependencies.
library(gauge)
: logarithmic scale was broken.
library(process)
: On Windows, process_create/3
did not
pass empty arguments correctly.
-
library(process)
: Some process_create/3
boolean options
did not accept the value ‘false’.
- CLPFD:
- Bad use of the global constraint API could crash SICStus.
- Critical bug in bounds-consistent
all_different/1
.
- Enabling FDBG could cause missing propagation.
geost/[2,3,4]
in greedy assignment mode ignored the lex/1
option.
- Bugs in flattening logical and arithmetical expressions.
- ZINC:
- Parsing floats was broken, causing spurious errors.
- The
fzn_file/1
and ozn_file/1
options misbehaved if used
without explicit ‘.fzn’ and ‘.ozn’ extensions.
- Empty arrays caused spurious existence errors.
- CHR:
-
‘+’ and ‘-’ are no longer incompatibly defined as prefix operators.
- In the build for 64-bit OS X 10.8,
library(tcltk)
would crash
the process.
-
On Windows
pillow:fetch_url/3
would sometimes time out for some
web servers.
-
A bug in Microsoft J# caused PrologBeans.NET to transmit some data
incorrectly from Prolog to .NET.
-
The splfr tool now ensures that the C compiler will find
the generated headers also when the
--namebase
option specifies
a folder.
Send feedback on this subject.