Dear SWI-Prolog user,
SWI-Prolog 10.1.4 is ready for download. This notably fixes a couple of
regressions from cleanup, adds more cleanup, fixes portability issues and
adds a couple of goodies. Highlights:
-
Fixed regression in dict and trie (tabling) code.
-
Improve listing/1,2 support for thread-local predicates.
-
GUI debugger to list clauses of thread-local predicates as they are
visible from the thread being traces (as opposed to the thread of
the GUI where they are typically empty). -
Improve TAB completion in CLI for files and notably for Prolog files
and libraries. -
Windows and Google protocol buffer version portability issues.
Enjoy — Jan
SWI-Prolog Changelog since version 10.1.3
-
PORT: Exclude jvm.dll from CPack runtime dependencies
-
ENHANCED: Command line (tab) completion - Tag directories with a
trailing / - Do file name completion on[prefix<tab>- Do
library completion onlibrary(prefix<tab>. -
ENHANCED: error/warning messages for swipl-ld
-
BUILD: We no longer need
cmake -E env ...to run Prolog This seems
to cause a hang in the Windows build xpce steps. Quite unclear why. -
FIXED: ansi_get_color/2: not supported on Windows.
-
PPA: Added Ubuntu 26.04 (Resolute Raccoon)
-
TEST: added tests for library(record)
-
FIXED: reload_foreign_libraries/0. Failed with type error.
-
TEST: Fixed Debug build test on Windows to avoid C stack overflow.
Based on PR by Eric Tauber. This replacement builds on the new Prolog
flagbuild_typeand rewrites the test suite to use PlUnit. -
ADDED: Prolog flag
build_type, representing the CMake build type
used. -
FIXED: library(main): make spy options default to the user module.
-
BUILD: added comments to scripts/configure
-
BUILD: added comments to CMakeLists.txt for protobufs test
-
DOC: clarified details of heap allocation
-
PORT: Minimize C stack on MSVC debug builds.
-
TEST: Skip test_thread_exit if alert signal == 0
-
PORT: Include platform pthread headers and includes for pthread config.
-
FIXED: #1465 Overflow issue in trie handling. This is the result of
replacing anintincorrectly withbool. -
FIXED: PThreads4W exit crash in MSVC Debug builds Without this,
the system crashes during process exit. -
ENHANCED: listing/1,2: show number of clauses in other threads.
-
ADDED: listing/2: option thread(+ThreadId) This lists the clauses
for a thread-local predicate as they can be seen for the given thread
(rather than the calling thread). -
MODIFIED: Modified PL_put_dict() to be a
boolfunction. All usage
in packages assumedbooland this is a more consistent interface.
Invalid keys now generate a fatal ABI error and dupiicate keys a normal
Prolog exception. As this function is not used much and there is no
clean way to fix the current bugs without changing the API we will
backport this to the stable series as is. -
FIXED: dict_pairs/3 could create dicts with duplicate keys.
Mistake changing types tobool. This changes the dict ordering
functions to return_PL_dict_status_t, which is now also returned
by PL_put_dict().
Package clib
- TEST: Raise timeout for UDP tests. Could fail.
Package protobufs
-
PORT: python3 might not be present and Python is not needed to build
the package -
TEST: ensure tests are run sequentially
-
ENHANCED: protoc 3.21.12 (unverified_lazy field)
Package xpce
- ENHANCED: PceEmacs to list thread-local clauses. If a PceEmacs window
is embedded in the debugger, fetch the target debug thread and list
the clauses as the debuggee sees them.