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

SWI-Prolog Changelog from version 7.7.4 to 7.7.5

[Dec 12 2017]

  • FIXED: retract/1: terminate with error if decompilation raises an error. Without, it is possible that retract/1 should logically succeed on a clause but skips the clause due to e.g., a resource exception.

[Dec 11 2017]

  • FIXED: Race condition updating the frame generation and the notion of the global generation. Solution suggested by Keri Harris.
  • CLEANUP: Move global_generation() to pl-inline.h for all platforms for better readability.
  • TEST: Remove more concrete file names to allow tests to run concurrently.
  • TEST: Avoid hard-coded file names such that we can run the test from the same directory concurrently.
  • FIXED: Lowering the oldest_generation must be thread-safe. Spotted by Keri Harris.
  • FIXED: Dirty predicates activated while CGC is running must have their active generation updated.
  • FIXED: race condition for cleaning lingering data on predicates.

[Dec 10 2017]

  • FIXED: If we push an accessible predicate while clause GC is active, we must update the generation if it is dirty.
  • DEBUG: Protect against recursive use of acquire_def()
  • FIXED: acquire_def() cannot be used recursively. Doing so in hashDefinition may lead to early release of indexes and clause references.

[Dec 9 2017]

  • FIXED: Possible race extending referenced predicate dynamic array.
  • FIXED: Test for kill(), such that core dumps work after fatal signals are trapped.

[Dec 8 2017]

  • FIXED: Could not build due to syntax error. Wouter Beek.

[Dec 7 2017]

  • ADDED: PL_cvt_i_uint(), PL_cvt_i_ulong(), PL_cvt_i_uint64()
  • MODIFIED: PL_get_integer() no longer silently converts a float that happens to be integer into an integer if O_GMP is used. This is a remain from the days that floats were used as a poor mens replacement for large integers.
  • ENHANCED: On 64 bit machines we do not have to check bignums as these never fit an int.
  • ADDED: PL_cvt_i_uchar() and PL_cvt_i_ushort()

[Dec 6 2017]

  • ADDED: PL_cvt_i_char() to accept one-character atoms, strings and lists

[Dec 5 2017]

  • FIXED: open_string/2: double free if stream argument is instantiated.

[Dec 4 2017]

  • FIXED: debug/1, nodebug/1: possible duplication of clauses when called at the same time from multiple threads. Wolfram Diestel.

[Dec 1 2017]

  • FIXED: perform DCG and goal expansion if the result of term-expansion is a list.
  • FIXED: Find clauses if depth limit for deep indexing is exceeded. Jos de Roo.

[Nov 29 2017]

  • ADDED: PL_cvt_i_char(), PL_cvt_i_short() and PL_cvt_i_int64(), extending Quintus/SICStus style native C conversions

Package http

[Dec 1 2017]

  • FIXED: Typo's in type documentation for `http_parameter/2'.

Package pengines

[Dec 7 2017]

  • FIXED: make sure that the variable names are also correct when the goal is being executed rather than only when the goal is being expanded.

Package plunit

[Dec 11 2017]

  • MODIFIED: Depth limit when printing failure terms from 10 to 100.

Package semweb

[Dec 6 2017]

  • ENHANCED: rdf_save/2: more efficient enumeration of subjects if a small graph from a large database is saved.
  • FIXED: Meta-predicate declaration for rdf_save_canonical_trig/2.