Ann: SWI-Prolog 8.2.4 (stable)

Dear SWI-Prolog user,

SWI-Prolog 8.2.4 (stable) is ready for download. This version backports
the relevant stability fixes from the development version. There are no
real highlights.

Enjoy --- Jan

SWI-Prolog Changelog since version 8.2.3

  • FIXED: Various small issues that allow using []/N (notably []/3)
    as a predicate. After report by Rick Workman.

  • DOC: Remove reference to -L, -G and -T options.

  • FIXED: Issue#767: print_term/2 for printing zero-argument compounds.
    Wouter Beek.

  • FIXED: Possible crash when creating a dict from a list if the list
    contains an invalid key.

  • FIXED: Crash when creating a dict from an invalid key.

  • FIXED: Issue#763: Attempt to create cycle import module dependency
    exception was not handled correctly. Reported by David Tonhofer.

  • FIXED: Windows swipl-win.exe console: check input messages before
    handling output such that e.g., Control-C works when the output
    is flooded.

  • MODIFIED: Allow processing interrupts in Windows when in critical

  • FIXED: Possible deadlock when passing Control-C from swipl-win.exe.

  • FIXED: possible race in swipl-win.exe output handling.

  • FIXED: sleep/1: interrupt processing for Windows.

  • FIXED: Issue#758: unify_with_occurs_check/2: possible false success
    when attributed variables are involved. Possibly may also involve
    cases where no attributed variables are involved. Reported by
    Jan Burse.

  • CLEANUP: Issue#128: silence maybeUnregisterDirtyDefinition() message
    for release build. Fabrizio Riguzzi.

  • BUILD: Issue#704: skip building the HTML docs if some dependency
    is missing.

  • FIXED: Possible crash of the debugger on the call port. We need
    to set PC to the new predicate before the trace callback or
    clearUninitialisedVars() may reset wrong variables.

  • FIXED: Issue#751: call_with_depth_limit/3 with limit -1. David
    Tonhofer. This patch also cleans up mixed types for handling the
    limit and possible limit overflows.

  • FIXED: Issue#747: Windows: expand_file_name/2 Unicode issues.

  • FIXED: We cannot catch a delimited continuation through a
    findall/3. Raise an error and give better messages for attempts to
    table this way.

  • DOC: Fixed a type, added commas and needed spaces.

  • FIXED: is_git_directory/1 for submodules.

  • FIXED: Reloading library(git) due to operator conflict.

  • FIXED: is_git_directory/1 for submodules.

  • ENHANCED: Detection of Emacs inferior mode. Now sets up tty on
    Windows as we have no way to detect.

  • FIXED: library(simplex): calling wrong predicate.

  • FIXED: Backport of 06e3e152a83ec786a689085274d49da1e56b9287 from devel:
    FIXED: Possible race condition in retract/1 generation management.

  • FIXED: atomic_list_concat/3: possible double free, corrupting memory.

  • FIXED: Issue#722: premature reclaim of a clause reference in retract/1.

  • FIXED: Make library(prolog_codewalk) work with name() predicate

  • FIXED: Do not set a Prolog flag if the hook dealing with the side
    effect fails.

  • ENHANCED: halt if we tried to handle exit from a thread twice.

  • ADDED: library(sandbox): declare nonground/2 as safe.

  • DOC: Avoid duplicate section label.

  • FIXED: Consistent answer count admin for answer subsumptive
    tabling. Resulted in “OOPS: trie_property/2: counted %zd values,
    admin says %zd\n” messages.

  • FIXED: Handling of the Prolog flag compile_meta_arguments.

Package bench

  • ADDED: Answer subsumption benchmark.

Package clib

  • FIXED: handle pipe(Stream, Options) encoding correctly. @dgelessus

  • ADDED: process_create/3: SICStus 4 compatible pipe(Pipe,Options)
    option supporting type(Type) and encoding(Encoding).

  • FIXED: Issue#33: environment variables may not be passed. This shows
    on MacOS, but can happen on any system.

  • FIXED: Issue#33: NULL pointer dereference in
    `process_create(’/usr/bin/printenv’, [], [environment([])]).

Package http

  • ADDED: gone 410 to list of status replies

  • ADDED: Define http_open/map_method/2 as multifile so we can support
    non-RFC HTTP methods.

  • COMPAT: Parse cookie values more flexible. Keri Harris.

Package jpl

  • PORT: Apple java_home program doesn’t accept -d64

  • BUILD: Avoid “Value of JAVA_HOME contained a newline” warning on MacOS.

Package pldoc

  • ADDED: Hook prolog:doc_object_footer//2 to add per-object examples.

  • FIXED: Export new HTML output routines.

  • DOC: Typo fix

Package semweb

  • FIXED: Issue#737: Although unlikely, computed garbage may be < 0
    due to asynchronous computation of the different garbage components.
    As this figure is only used for statistics we just report < 0 as 0
    instead of raising an assertion error.

Package ssl

  • TEST: Issue#159: OpenSSL 1.1.1i changed sequence for unknown_issuer
    certificate reporting. Patch by Kurt Roeckx.

Package tipc

  • FIXED: tipc_paxos_replicate/1 called non-existing predicate. Removed.

Package xpce

  • FIXED: Cross-reference GUI: handle name() definitions.

  • FIXED: Issue#19: Possibly buffer overflow and incorrect error message
    if XPCE cannot connect to the given display.