DOC: CLP(FD): Extended information on search and enumeration predicates.
FIXED: Do not generate clause-references for temporary clauses for meta-calls: these would point to the stack that may shift or be discarded. Affects prolog_frame_attribute(Frame, clause, Clause).
ENHANCED: Avoid discontiguous message when an async event interrupts the compilation.
MODIFIED: message term for discontiguous predicates from discontiguous(Pred) to discontiguous(Pred, Current). Implemented a more informative error message.
FIXED: PL_unify_term() handling of _PL_PREDICATE_INDICATOR
DOC: CLP(FD): New section about domains.
FIXED: emitting exceptions from the debugger hook
FIXED: '$break_pc'/3: return after B_UNIFY_EXIT for inlined unification. Fixes setting breakpoints on inlined unification.
FIXED: Reading from deleted breakpoint structure.
FIXED: destroy_module/1: reading from freed structure.
FIXED: Off-by-one error in bitvector allocation. Can mess up sourcefile admin.
FIXED: destroy_module/1 must call freeClause() to reclaim breakpoints and unregister atoms.
DOC: Updated Unix man page
FIXED: VMI support for cyclic module qualifications and tests.
FIXED: Raise a type error on cyclic module-qualifications. Used to loop.
DOC: CLP(FD): Enhance introductory section.
FIXED: Source information for inline unification.
ADDED: prolog_clause:open_source/2 hook to get source info from clauses that are not loaded from a normal file.
ADDED: In Ciao dialect, the following features where implemented:
Support for initialization in sentence translations, passing 0 as first argument at the beginning. - Support for finalization in goal translations, passing end_of_file as goal at the end.
FIXED: arg/3: accept attributed variable as first argument. Michael Hendricks.
ADDED: Deal with exceptions raised in the tracer hook.
FIXED: thread pools: possible race condition in the hook create_pool/1. The infrastructure now guarantees that the hook will be called only once per pool.
ENHANCED: CLP(FD): More elegant residual goal of scalar_product/4. Ulrich Neumerkel, i3a#291.
FIXED: pack_install/1 with a directory argument.
ENHANCED: CLP(FD): Stronger propagation in cumulative/[1,2]. All examples from Ulf Nilsson's excellent "Logic, Programming and Prolog (Supplement)" now work with SWI-Prolog. The supplement is available from:
https://www.ida.liu.se/~TDDD08/misc/clpfd.pdf and requires only minimal changes (domain/3 etc.) for SWI.
ADDED: CLP(FD): disjoint2/1, describing non-overlapping rectangles.
FIXED: git/2 and git_process_output/3, git_describe/3: guarantee the git process is reclaimed on errors.
FIXED: library(git): closing streams on errors.
Package clib:
FIXED: deal with cyclic module qualification
FIXED: Possible non-termination in memory_file_line_position/4.
FIXED: memory_file_line_position/4 in mode +,+,+,-
ENHANCED: stream_info/1: send all output to current_output rather than part to current_output and part to user_error.
Package http:
FIXED: deal with cyclic module qualification
FIXED: When using en encoding filter, the original output was no longer closed.
Package pengines:
ADDED: hook pengines.prepare_goal/3 that allows for additional application and option dependent pre-processing of a goal.
ADDED: Pass arbitrary additional options through Pengine.ask()
CLEANUP: Option processing for Pengine.ask(query, options)
CLEANUP: pengines.js, send()
ADDED: Setting debug_info at the application level to make a pengine keep the source code to facilitate source-level debugging.
FIXED: Accept a destroy event while waiting for input
FIXED: pengine_destroy(P, [force(true)]) raised exception. Since pengines abort cleanly, we no longer need to (can) join.
Package semweb:
FIXED: deal with cyclic module qualification
Package sgml:
FIXED: deal with cyclic module qualification
Package ssl:
FIXED: deal with cyclic module qualification
Package xpce:
FIXED: Do not open PceEmacs error hits on empty error message.
FIXED: deal with cyclic module qualification