Dear SWI-Prolog user,
I’m happy to announce SWI-Prolog 8.3.7. This version comes with some
important fixes and improvements. Highlights:
Matt Lilley help finding a crash in the tabling test that notably
occurred on (his) MacOS, but can in theory affect any version.
Fix to expand_file_name/2 for Windows on non-ascii file names.
Made frozen/2 compatible with SICStus, reporting all delayed
goals (not only those from freeze/2) on all variables inside
a given term (rather than only on the toplevel variable).
Handle arg/3 calls in the VM if the last argument is a first
variable, i.e., known to be unbound by the compiler.
Avoid exception in markdown handling that can make parts of
the documentation unavailable.
Enjoy — Jan
SWI-Prolog Changelog since version 8.3.6
MODIFIED: Issue#665: Added read_term_with_history/2 and moved
read_history to library(backcomp). read_term_with_history/2 provides
access to all the read_term/2 options, notably the syntax changing
options. After discussion with Robert van Engelen.
MODIFIED: qsave_program/2: preserve the
autoloadflag in the calling
process and preserve autoloading if it is enabled and the save class is
ENHANCED: frozen/2 to avoid copying. This not only enhances
performance, but also maintains the variable identity.
FIXED: Possible crash in tabling, notably occurring on MacOS due
to wrong assumptions wrt representing pointers in Prolog integers.
With a lot of help from Matt Lilley.
FIXED: frozen/2 could fail after recent enhancements.
FIXED: Handle failure inside ‘fast’ opcodes which D_BREAK replaces
with ‘slow’ opcodes that do not trigger FASTCOND_FAILED. To do this,
if we hit D_BREAK and there is a fast condition pending, convert it
into a real choicepoint
FIXED: Issue#657: Debug flags such as
saved state were overruled by the initialization. Robert van Engelen.
DOC: Issue#658: read_history/6 wrong info for substituting the
event. Robert van Engelen.
ENHANCED: Compile simple arg/3 calls to the VM
ENHANCED: Allow listing and source level debugger to work for clauses
the contain non-atom blobs.
MODIFIED: numbervars/4 using the
number variables in LR order rather than in the order where the
second occurrence is found. This notably makes the output of
portray_clause/1-3 easier to read.
MODIFIED: frozen/2 now reports any goal that is delayed on some
variable inside the first argument rather than only goals delayed
due to freeze/2 and only checking for a direct variable.
MODIFIED: portray_clause/1,2,3: portray
(a,b),cthe same as
a,(b,c). This is compatible with SICStus and makes sense as the
compiler also compiles both shapes to the same code.
FIXED: Issue#652: expand_file_name/2 for Windows: double UTF-8
PPA: Removed eoan from PPA list
- PORT: Allow running on SICStus.
- FIXED: Markdown exception when processing a block like a code block
followed by a possibly header underline (— or ===).
ADDED: XML space mode
strictthat never changes white space.
Required for signature generation and checking. By Matt Lilley.
TEST: Syntax error. David Tonhofer.