Dear SWI-Prolog user,
SWI-Prolog 9.3.5 is ready for download. As to be expected after the
internal reorganization in 9.3.4 there was some regression. @josderoo
spotted one stack shift issue. SWISH found another one. This quick
release fixes this and a couple of other raised issues.
It also adds a more verbose crash logs that should make it easier to
fix possibly remaining regression issues. Most seem related to not
making all state accessible to the stack shifter. With relative
addressing this was not an issue, but with the new absolute addressing
it is.
Please keep testing, so we can quickly return to the common practice
that the development series are more reliable than the stable versions.
Ideally the development series only makes more changes that may, at
least in theory, affect compatibility, notably for new features.
Enjoy --- Jan
SWI-Prolog Changelog since version 9.3.4
-
DEBUG: Save C backtraces at GC and SHIFT start
-
DEBUG: Improve crash context printing Make all fatal errors
(sysError(), assertion failure and fatal signal) call new function
printCrashContext() that prints more extensive information about
the crash -
FIXED: notrace/1 could raise a representation_error(size_t)
exception This exception is raised if the trace skip level =
SKIP_REDO_IN_SKIP
. -
FIXED: call/1 (I_USERVALL0) GC issue call/1 did not correctly make
the goal available to GC if stack expansion is required. -
MODIFIED: term_string/2,3, atom_to_term/2 and read_term_from_atom/3
now raise exception on empty input These predicates used to
produce the atomend_of_file
. Now they raise the exception
syntax_error(end_of_string). -
PORT: Fix case conversion for Unicode characters on Windows.
-
TEST: Disable case test for u00ff on Windows.
towupper(0xff)
returns 0x9f on Windows. -
FIXED: prolog_walk_code/1: no matching rule from goals reached from
a :- initialization. -
BUILD: Extended
scripts/configure
to includetermux
-
FIXED: Stack shifter Foreign frames may hold references to the local
stack in addition to global stack references.
Package http
-
MODIFIED: json_write/3 and friends: no spacing with width(0).
If the optionwidth(0)
is provided, do not emit a space after a
β,β delimiting object fields. This implies spacing is minimal.
This is a requirement for signing JSON documents. -
DOC: http_post_data/3: document string([Type], String) data