Did you know ... Search Documentation:
Title for pldoc(default)
Branch: stable (switch to development),
version to version

SWI-Prolog Changelog from version 7.4.1 to 7.4.2

[Apr 14 2017]

  • FIXED: format/3: handle error status from low level write operations and avoid memory leaks in some control paths.

[Apr 12 2017]

  • FIXED: Steadfastness of partition/5. Example definition:
    c(A, B, Rel) :- compare(Rel, A, B).

    Sample query and answer, previously:

    ?- partition(c(a), [a,b,c], Ss, [], Gs).
    true.

    Now:

    ?- partition(c(a), [a,b,c], Ss, [], Gs).
    false.

    Note that the signature allows this usage mode!

  • FIXED: Correct error in partition/5.

[Apr 11 2017]

  • ENHANCED: Raise a representation_error(continuation) error if we cannot capture the continuation. This shouldn't happen, but a normal Prolog exception makes locating easier and is less drastic.
  • FIXED: restarting a continuation should copy flags from the parent, notably FR_INRESET. Samer Abdallah.

[Apr 1 2017]

  • FIXED: library(record): module qualification of inlined type checks. Eyal Drechter.

[Mar 28 2017]

  • FIXED: Signal handling while shutdown is in progress.
  • FIXED: Avoid rewriting of '$aborted' exceptions and thus prevent an abort from happening.

[Mar 25 2017]

  • DOC: wrong link.
  • FIXED: Possible under-allocation of global stack when generating answers from a trie. Added test cases.
  • FIXED: Possible too low number of reserved variables for getting values from a trie. Eyal Drechter.

[Mar 20 2017]

  • FIXED: reverted old long -> intptr_t replacement in message.

[Mar 17 2017]

  • ENHANCED: Allow reproducible builds by using the SOURCE_DATE_EPOCH variable. To allow reproducible builds (same source results in same binary) replace DATE and TIME with system provided values.

[Mar 16 2017]

  • FIXED: Added human message for duplicate_key(+Key) dict error term.

[Mar 11 2017]

  • FIXED: Codewalk library: do not propagate bindings between the branches of a disjunction (Abramo Bagnara).

[Mar 9 2017]

  • FIXED: Goal feedback after DWIM correcting a goal holding $Var references.
  • FIXED: silently skip already installed dependencies. This patch also causes a message that the pack is already installed and at which version if the installed version is the same or newer as the available version.

Package http

[Apr 18 2017]

  • FIXED: Issue#84: ws_receive/3: fixed retry after an websocket ping message.

[Apr 8 2017]

  • MODIFIED: If we loose an HTTP worker thread due to a write error to user_error the server is terminated with status 2. This problem may happen if Prolog is launched by service manager that reads the Prolog output from stderr and the monitoring process is restarted. Not doing anything is not an option as we will loose all server threads, eventually starving the server. Ignoring will probably become an alternative, but this needs to implemented elsewhere.

[Apr 14 2017]

  • FIXED: Make sure an unlikely exception while computing websocket random is not lost.

[Apr 12 2017]

  • FIXED: Correct setting name is StartLimitBurst. DefaultStartLimitBurst is only admissible in system.conf.

[Apr 11 2017]

  • FIXED: Use Restart=on-failure in the systemd demo script to restart if the server is halted with status != 0 which happens e.g., if the service looses stderr.

[Mar 20 2017]

  • FIXED: json_convert: Use current_type/3 rather than direct clause to allow using protected code. Paulo Moura.

[Mar 16 2017]

  • FIXED: Call HTTP session begin broadcast after completing the session initialisation such that handlers can call e.g., http_session_assert/1.

[Mar 14 2017]

[Mar 4 2017]

  • DOC: hib_send/2 is semidet instead of det.

[Mar 3 2017]

  • ADDED: atom_json_term/3: default as(As) defaults to atom and this predicate now supports chars.

Package odbc

[Apr 5 2017]

  • FIXED: Issue#5: properly cancel a statement after an error.

Package table

[Mar 17 2017]

  • ENHANCED: Allow reproducible builds by using the SOURCE_DATE_EPOCH variable. To allow reproducible builds (same source results in same binary) replace DATE with system provided value.

Package xpce

[Apr 12 2017]

  • ENHANCED: Better formalisation of syntax hacks for Prolog. On the short term this avoids 0' to upset syntax handling when the debugger is used. Later versions will improve handling of notably 0'.

[Apr 7 2017]

  • FIXED: PceEmacs: replace using empty regex match (^, $)
  • FIXED: regex->for_all: ensure we make progress on empty search targets.

[Mar 15 2017]

  • ADDED: PceEmacs: setup_auto_indent to Prolog menu

[Mar 10 2017]

  • FIXED: Prolog mode variable highlighting (missed handling of new parentheses_term_position/3 term).