Dear SWU-Prolog user,
SWI-Prolog 9.0.3 (stable) is ready for download. The number of patches is
small. Most of them concern portability and testing.
Enjoy --- Jan
SWI-Prolog Changelog since version 9.0.2
-
PORT: Fix crash in walking the Prolog stack for gcc 12 on arm
32-bit. This is caused by padding added instruct queryFrame
between
saved_environment
andtop_frame
-
PORT: Fixed rationalize/1 and cmpFloatNumbers() to fail due to
gcc optimization using internal wide float registers rather than
comparing 64 bit doubles. Not entirely sure this is our mistake
or within GCC’s claim to work with the extended float registers.
Bottom line is that comparing a double (from memory, so 64 bits) to
the result of a computation may return non-equal even if the extended
float when forced to 64 bits is equal. This problem surfaced in i386
using gcc 12.2.0. -
FIXED: Issue#119: library(apply_macros) goal expansion for phrase/3
using a partial terminal was too greedy. Uwe Neumerkel. -
FIXED: Initialise Prolog flag
encoding
from locale name. Internal
UTF-8 decoding is typically faster than the C library multibyte
operations. -
FIXED: clause/2,3: possible GC crash when dealing with moved
unification. We cannot have references to the local stack and thus
we must allocate the support variable on the global stack. -
ENHANCED: If one of the standard streams of a thread has been closed,
rebind the stream to the original process streams. This can happen
if, for example, we create a thread while output is redirected to
some stream. If now this stream is closed the thread ends up with
a closed standard stream.
Package http
- TEST: Avoid using test condition bindings.
Package mqi
- TEST: Avoid recorsive Python exception
Package plunit
- ADDED: current_test_unit/2 to enumerate the available unit tests.
Package redis
- TEST: More relaxed timing to make test pass on heavily loaded machines.
Package semweb
- PORT: Support full Unicode input for ntriples and trutle on
Windows. Based on PR#108 by @mgondan.
Package sweep
-
ADDED: new command sweeprolog-infer-indent-style * sweeprolog.el
(sweeprolog-infer-indent-style): new command. * sweeprolog-tests.el:
test it. * README.org (“Indentation”): mention it. -
FIXED: stale predicate locations in loaded modified buffers * sweep.pl
(sweep_predicate_location_/2,3): prefer xref over loaded predicate
properties. * sweeprolog.el (sweeprolog-predicate-location): first
analyze buffer if modified to update xref data.
Package xpce
- FIXED: file<-time default was accidentally to
access
where it used
to bemodified
.