Branch: development (switch to
stable),
SWI-Prolog Changelog from version 9.3.15 to 9.3.18
[Jan 5 2025]
- FIXED: library(prolog_colour): misleading colouring of
Dict.field
Field was flagged as an error (no_function).
- DOC: sort/4 stable sort example. Suggested by Pierpaolo Bernardi.
[Jan 4 2025]
- ASAN: Avoid runtime errors on
field[1]
- PORT: More C99 unspecified array at end of struct issues.
- PORT: Use portable definition of
struct clause
- PORT: Use C99 constructs for a portable version of
struct functor
Structs may use type name[] as last field for a dynamic array.
[Jan 3 2025]
- ENHANCED: Simplify generating a joined key for multiple arguments.
- ENHANCED: app
splfr to use new argv_options/4 ability to pass
unknown options.
- ADDED: argv_options/4: option
unknown_option(pass) This passes
unknown options to the positional argument list without warning.
This is intended for processing some options while some downstream
component processes the remaining options.
[Jan 2 2025]
- MODIFIED: Turn SICStus
splfr script into a SWI-Prolog app Allows
for swipl splfr [option..] input ...
- DOC: spellchecked documentation
[Jan 1 2025]
- CLEANUP: Clause indexing code. Split into smaller functions,
use
bool type, avoid goto, add more comments, etc. This is a
preparation before improvements.
[Dec 30 2024]
- ADDED: foldall/4. Suggested by Boris Vassilev.
- DOC: clarified (new) destructive assignment complexity.
- ENHANCED: Use improved sharing in nb_set_dict/3. This patch makes
nb_set_dict/3 call the low-level code for nb_setarg/3, providing
better code reuse.
[Dec 29 2024]
- ENHANCED: nb_setval/2: avoid quadradic complexity.
- ENHANCED: nb_setarg/3: avoid copying the old value. If the new value
contains the old, the old value is not copied, making many applications
linear instead of having quadratic cost.
- CLEANUP: Pack context for copy_term/2 and friends into a struct Also
type and declaration cleanup
[Dec 23 2024]
- ADDED: swipl pack remove: --dir=DIR option
- ADDED: swipl pack info: --dir=DIR option Give info on packs installed
below DIR
[Dec 21 2024]
- ADDED:
swipl pack rebuild [--dir=dir] [pack ...]
- ADDED:
swipl pack list --dir=DIR option to list packs installed
in DIR.
[Dec 19 2024]
- FIXED: dict_same_keys/2 could overflow the global stack.
- ADDED: trap/1: aliases for e.g. type_error ->
type_error(_,_) So one
does not need to remember the number of arguments.
[Dec 18 2024]
- FIXED: Preserve
incremental property when creating a saved state.
[Dec 13 2024]
- BUILD: Add CMake option -DSWIPL_SO_VERSIONS to remove SOVERSION
properties.
[Dec 12 2024]
- DOC: statistics/2 lost the keys
globallimit, locallimit and
traillimit. Reported by Jelmer Jellema.
[Dec 10 2024]
- FIXED: print_term/2: proper handling of
operators(Ops) Needs to be kept
consistent with write_options([... ignore_ops(IgnOps)]). Implemented
consistency and deprecated the option. Reported by Mike Elston.
[Dec 9 2024]
- FIXED:
merge_options(+Dict, +List, Merged) Resulted in no matching
rule exception.
- ADDED: library(prolog_colour): track CHR declaration locations
[Dec 8 2024]
- FIXED: Handling of home during boot session.
[Dec 4 2024]
- ENHANCED: pack_info/1: use colours and indicate autoload status.
- MODIFIED: pack_install/2 option
autoload(true) If present, the pack
is installed as autoload pack regardless of autoload option in the
meta-data. If the option is not present, the system asks the user to
install as autoload library if the meta-data contains autoload(true).
- FIXED: Make packs that provide an autoload library work again.
[Dec 3 2024]
- FIXED: cmake/TestSignalType.c for C++
- PORT: Make cmake test for signal handler compatible with c23
[Dec 2 2024]
- ENHANCED: gui tracer support for
Head ==> Body rules.
- ENHANCED: Set
non_terminal property for clauses for Head ==> Body
[Nov 29 2024]
- WASM: Include ABI file to make the home search work.
- FIXED: New home search to actually try the compiled in value.
[Nov 28 2024]
- ENHANCED: Verify sanity of the Prolog home directory This patch
validates that the home directory contains a file ABI holding the
ABI information and compares this. On failure, it reports a detailed
report on why Prolog could not find its home directory.
[Nov 27 2024]
- FIXED: explain/1 to report the same predicate multiple times.
This happens if the predicate is imported into multiple modules.
- ADDED: library(exceptions) This library provides catch/4 and error/2
to define error types and catch based on types rather than unification.
Experimental.
[Nov 25 2024]
[Nov 24 2024]
- FIXED: Pass command line arguments in class Prolog.
[Nov 22 2024]
- DOC: gcd/2 and lcm/2 are not operators.
- ADDED: Prolog flag
unknown_option with values {ignore,warning,error}.
As a result of PIP-105. May change, but unlikely as their was clear
agreement.
[Nov 21 2024]
- FIXED: Use of undefined options in the toplevel. This makes the
toplevel unusable if the Prolog flag
iso is set to true.
- PORT: WASM: Get rid of deprecated allocate, ALLOC_NORMAL and
ALLOC_STACK
- FIXED: WASM: Query.
next() to set done to true on last answer.
This must be false when used as iterator.
- ENHANCED: Allow suppressing autoload warnings.
- TEST: Move test_rwlocks.pl from
library to thread test dir.
This test should not run in the single threaded version.
[Nov 20 2024]
- FIXED: WASM: for(x of prolog.
query(...)) lost last answer
Package clib
[Dec 28 2024]
- PORT: Support inet6 on NetBSD
Package http
[Jan 3 2025]
- DOC: spellchecked documentation
[Dec 16 2024]
[Nov 20 2024]
- DOC: Fixed example code for apropos with HTML output.
Package jpl
[Nov 22 2024]
- TEST: #104 prolog_in_java test fails if multiple copies of junit*.jar
are found. Now first search for junit*4*.jar. On success, use first,
else search for junit.jar. On success, use first.
- TEST: Cache JUNIT_JAR in CMake. This provides better cmake performance
and easier inspecting the configuration result.
Package semweb
[Jan 4 2025]
- ASAN: Avoid runtime errors. All "fixed" issues are benign
[Jan 2 2025]
- DOC: spellchecked documentation
Package swipy
[Dec 11 2024]
- FIXED: Allow using the
janus module from Prolog when loaded as
Python module.
[Dec 10 2024]
- FIXED: When loading janus_swi into Python, use janus.pl from Python
package.
[Nov 25 2024]
- BUILD: Honour environment variable
SWIPL for `pip install .`
- DOC: Document creating the Windows binary wheel in
scripts/README.md
Package xpce
[Jan 4 2025]
- PORT: Avoid
-Wstringop-truncation warning.
- PORT: Silence address sanitizer errors.
[Jan 3 2025]
- MODIFIED: PceEmacs: sync comment commands with (my)GNU Emacs. -
\C-c\C-h (insert_section_comment)
Insert code section comment from prompted title - \C-c\C-q
(insert_long_comment)
Insert /* - - - .... - - - */ comment