Dear SWI-Prolog user,
SWI-Prolog 8.5.0 is ready for download. This version isn’t much
different from 8.4.0. It is a normal step in the development cycle. This
version deals with some portabilty/compatibility issues (MUSL C-lib,
OpenSSL 3.0, MS SQL Server for ODBC), several minor bug fixes and small
improvements.
format/2,3 has improved position management for nested calls that may
result from ~p
or ~@
specifiers such that these can use
ansi_format/3 to add attributed (color, bold, etc.) to the output.
Enjoy --- Jan
SWI-Prolog Changelog since version 8.3.29
-
DOC: Document key
pc
of prolog_choice_attribute/3 -
FIXED: 91d73fb8a859c6e0f0d97ff553f96903816bc18c triggers another case
where the falsecount of a node can underflow during re-evaluation.
Bit dubious. -
DOC: LaTeX formatting error
-
FIXED: possible failure to propagate changes in lazy monotonic
tabling. This happens because answers added during lazy reevaluation
are propagated eagerly, but ‘$idg_mono_affects_eager’/3 didn’t find
dependencies to non-lazy tables. -
ADDED: pack_install/1 and friends: pass a prefix flag to CMake or
configure that follows the same conventions as the installed Prolog
system. -
ADDED: dcg_translate_rule/2 is now declared safe for use in sandboxes.
-
ADDED: notraceall/0.
-
ADDED: Allow authors of packs to not have an email address or URL.
-
ADDED: PL_cvt_i_schar() for explicit signed character handling.
-
ENHANCED: dict_options/2 in mode (-,+) to remove duplicate options,
keeping the first. -
ENHANCED: Cleanup code for format/2,3. Allow callback’s to cooperate
with ansi_format/3. -
ADDED: prolog_listen/2,3: listen to thread create events.
-
ENHANCED: ord_intersection/2 to raise errors of the input is not a
proper powerset. -
FIXED: Possible crash enumerating a trie holding indirect values
against instantiated data. Reported by Eric Zinda. -
FIXED: VMI_FUNCTIONS build now works with LDFUNC changes
-
FIXED: Issue#883: Decompiler to preserve order of arguments to
optimized +/2 and -/2 functions. -
FIXED: Issue#882: Test failure if xpce is not added to the build.
Reported by David Tonhofer. -
BUILD: Make building the docs works if X11 is not included.
-
FIXED: Completion of lazy monotonic tabling to exclude lazy monotonic
tables without queued dependencies as there is no point in evaluating
these now. -
FIXED: Lazy monotonic tabling detection that a mutual dependent
monotonic dependency network is complete. -
FIXED: Allow listing/1 from a temporary module.
-
ADDED:
customize/edit
command to accept--no-wait
option.
Requires latest xpce package. Can by used with editor plugin for
terminator. -
DOC: Updated section “Prolog exceptions in foreign code”. Was pretty
outdated. -
FIXED: clause/2 moved unification for
s(X) :- X = f(Y), p(Y).
Bug introduced in fb96dc77bbd86df31ed7bd2282dd5b20f341f534. -
FIXED: clause/2 (decompiler for moved unification instructions against
the head. -
DOC: enhanced docs for ;/2, ->/2, and other control structures.
-
PORT: The MUSL C runtime library as used in e.g. Alpino Linux cannot
safely call pthread_detach() from the pthread cleanup handler. -
BUILD: Fixed building docs when building without
xpce
.
Package archive
- PORT: Allow overruling libarchive dependencies.
Package clib
- ADDED: uuid/2 emulation to allow for
format(integer)
.
Package http
-
MODIFIED: Issue#148: Do not redirect from
/path
to/path/Var
-
FIXED: Issue#147: JSON parser to reject illegal numbers.
Package mqi
- PORT: Make password generation work if GMP is not included.
Package odbc
-
FIXED: Properly translate non-ASCII ODBC messages to Unicode.
-
FIXED: Cleanup the remains of old work-arounds or broken MS SQLServer
SQLColumns() and add a new one. odbc_table_column/3 stops with the
errorInvalid Descriptor Index
trying to fetch the column name
using SQLGetData(). The work-around sets the column with for this
query to 8K, avoiding SQLGetData(). Thanks to Fernando Sáenz-Pérez
for reporting and providing access to a server.
Package protobufs
- TEST: Disable tests that require unbounded integers when GMP is
not included.
Package ssl
- PORT: Issue#160: OpenSSL 3.0. Drops option padding(sslv23) from
rsa_(private/public)_(en/de)crypt/4.
Package swipl-win
- CLEANUP: Avoid deprecated
endl
for Qt >= 5.14
Package xpce
- ADDED: PceEmacs server: control whether we kill the editor after
the command completes. Made available in in theedit
script as
edit --no-wait file:line
.