Dear SWI-Prolog user,
I’m happy to announce SWI-Prolog 8.2.3 (stable). This version backports
a number of documentation, build, test and stability issues.
Enjoy --- Jan
P.s. Building the PDF docs fails from the tar archive. That was not
enough reason to re-release The git repo has been updated.
SWI-Prolog Changelog since version 8.2.2
-
FIXED: Typo in MemoryBarrier() based sync macros.
-
DOC: Fix priority of
|
operator. Spotted by Falco Nogatz. -
FIXED: protect dynamic clauses in continuations. This patch solves
the same problem as cca23badcbfb2dad7089696348aae56e50b84a3c, but also
protects the clause itself during the execution of the continuation. -
FIXED: Issue#706: call_continuation/1: environment clause reference
cannot be from the blob in the continuation as this may be reclaimed
in AGC. May cause a crash while getting a backtrace from restarted
continuation. GC also uses the clause info, so this can probably
crash as well. Reported by David Tonhofer. -
PORT: Set MACOSX_DEPLOYMENT_TARGET for building the MacOS dependencies.
-
DOC: Corrext examples for rational numbers to use lowercase “r”
instead of formerly discussed “R” -
DOC: CHR section names to include CHR to make them easier to find
and reduce ambiguity in search results. -
FIXED: Do not use sandboxing during autoloading. Note that the
autoload directive is not permitted in sandboxed code, so users cannot
load untrusted code using autoload/1,2. -
FIXED: debugger could reset wrong variable when debugging a redo
action. May lead to incorrect behaviour in debug mode. -
FIXED: set_prolog_flag/2: propagate errors from switching debug mode
using thedebug
flag. -
ADDED: PL_put_term_from_chars(): flag
CVT_EXCEPTION
to raise an
exception on a failure rather than returning the exception term. -
ENHANCED: PL_get_nchars(): immediately write to a UTF-8 string if
REP_UTF8
is specified. This used to first write ISO Latin 1,
then wchar and finally transfer to UTF-8 for terms that cannot be
represented as ISO Latin 1. -
FIXED: PL_get_nchars(): avoid pending exception in write conversion
if the term cannot be represented as ISO Latin 1. -
FIXED: XDG path handling for
common_config
.common_data
returned
both the common data and config paths, while common config had no
locations. -
FIXED: incremental tabling with answer subsumption call to start
reevaluation. -
TEST: wrong format/3 usage causing a failure unrelated to the test.
-
TEST: Relax XSB tabling test abol_test3b.P as reclaiming the tables
is not guaranteed. -
FIXED: Possible race in shared table handling. Leads to “Oops,
worklist trie doesn’t point back at me!” messages. -
TEST: Test file for destroying local definitions.
-
FIXED: Race between destroying thread-local definitions and clause
garbage collection. With Matt Lilley. -
FIXED: Thread-local definitions corrupted the argument declaration.
Matt Lilley. -
DOC: debug/0 does not affect trace points.
-
FIXED: Issue#702: call_with_inference_limit/3 determinism when the
inference limit is exceeded. David Tonhofer. -
DOC: reset/3: document interaction between delimited continuations
and choicepoints. -
FIXED: Save/restore tabling status over break/0.
-
FIXED: Possible assertion failure in WFS handling for tabling on
32-bit hardware. Lev Lamberov.
Package clib
-
FIXED: library(udb_broadcast): determine subnet mask for 127...*
network. Jacob Friedman. -
ADDED: uri_resolve/3 and related predicates that take a base URI
to accept a string in addition to an atom for the base URI.
Package cql
- DOC: Add CQL to the section headers to improve searching.
Package libedit
- FIXED: Avoid double preparation of the libedit signal handling.
Double preparation may lead to an infinite recursion in el_sighandler()
and can happen if multiple threads prepare the library.
Package ltx2htm
- ADDED: Support
tabulary
environment.
Package pldoc
-
ADDED: Create a link from … flag
`name`
… if name is a
current Prolog flag. -
ADDED:
`name/arity`
to create a link asname/arity
. Using
double backticks creates a predicate indicator that is not a link. -
ENHANCED: Use LaTeX package tabulary for dealing with tables that
have one or more columns with long text in cells. -
ADDED: PlDoc Wiki tables to use a possible column alignment
specification and interpret the header. -
ADDED: Markdown notation
[@cite;@cite;...]
to allow for citations
in the Markdown in the documentation pipeline. After discussion with
Eric Zinc.
Package semweb
- FIXED: sparql_query/3: ignore white space in values. Johan Romme.
Bug introduced by ef7ee735df9445b061cecc23c5d707d51e470edd
Package ssl
- FIXED: Possible buffer overflow when reading certificates with too
long lines. Matt Lilley.
Package table
- FIXED: Handle empty table files.
Package xpce
-
FIXED: Example defaults file: emacs_prolog_mode.dependency_directive
class variable must be quoted. -
ENHANCED: Cleanup trace/spy dialog