Dear SWI-Prolog user,
SWI-Prolog 8.3.17 has been released. Highlights:
Fix a regression in absolute_file_name/3 that (notably) prevented
installing packs when no pack directory had been created yet.
Fixed issue in unify_with_occurs_check/2 with constraints as
reported here by Jan Burse.
Fix race in autoloading that could lead to undefined
predicate errors for dependencies of the autoloaded predicate.
Peter Ludemann found this.
Related, fixed signal handling during compilation. Aborting a
compilation is unsafe and therefore signals are no longer
processed. The user can forcefully interrupt this process and
other signal atomic processes using a double Control-C.
double Control-C now also works in the
Improved Control-C handling in
swipl-win.exewhen a lot of
output is generated.
A couple of new library predicates (clumped/3, mapterm/3,
More SICStus dialect additions by @dgelessus
Enjoy — Jan
SWI-Prolog Changelog since version 8.3.16
FIXED: Issue#763: Attempt to create cycle import module dependency
exception was not handled correctly. Reported by David Tonhofer.
FIXED: thread_wait/2 handling of the timeout option.
FIXED: incr_is_invalid/1 from library(dialect/xsb/increval) to
enumerate instances of the arguments that have invalidated tables.
ADDED: sumlist/2, transpose/2, partition/5, clumped/2 to SICStus 4
ADDED: nonmember/2 to SICStus 4 emulation.
ADDED: [is_]mutable/1 to SICStus 3 and 4 emulation.
ADDED: More SICStus 4 library(terms) predicates, from SWI
FIXED: Windows swipl-win.exe console: check input messages before
handling output such that e.g., Control-C works when the output
MODIFIED: Allow processing interrupts in Windows when in critical
FIXED: Possible deadlock when passing Control-C from swipl-win.exe.
FIXED: possible race in swipl-win.exe output handling.
FIXED: sleep/1: interrupt processing for Windows.
MODIFIED: Run compilation of a file in signal atomic mode to avoid
partial loads of a source file. Double Control-C allows (dangerous)
abort of the load.
MODIFIED: Pass sigint on even when in critical mode. Allows for
double Control-C to break out of blocked operations.
FIXED: detection that we are currently loading a library needed for
autoloading, so we need to block.
COMPAT: clumped/4 in SICStus does not first sort the list, i.e.,
it implements run length encoding rather than frequency counting.
DOC: Added library(terms) to the main documentation.
ADDED: library(terms): same_functor/2-4, mapterm/3
FIXED: Issue#758: unify_with_occurs_check/2: possible false success
when attributed variables are involved. Possibly may also involve
cases where no attributed variables are involved. Reported by
CLEANUP: Issue#128: silence maybeUnregisterDirtyDefinition() message
for release build. Fabrizio Riguzzi.
ADDED: clumped/2 to library(lists).
ADDED: sub_term_shared_variables/3 to library(occurs).
BUILD: Issue#704: skip building the HTML docs if some dependency
FIXED: absolute_file_name/3 regressing for creating config
directories. Resulted in pack install issues reported by Nicholas
ENHANCED: cannot_create_dir message if there are no candidates.
- ADDED: Define http_open/map_method/2 as multifile so we can support
non-RFC HTTP methods.
- COMPAT: xpath/3: allow specifying attribute values in selectors