Dear SWI-Prolog user,
SWI-Prolog 8.5.13 is ready for download. Highlights:
-
Fixes to write/1 and friends.
-
Various fixes for Windows, notably getenv/2 was broken since recent
changes to the code that translates between the Windows Unicode
API and Prolog. -
The functions in
SWI-Stream.h
, providing foreign access to Prolog
streams are now (rudimentary) documented. -
The PPAs now also include the debug symbols. See
Installing from PPA (Ubuntu Personal Package Archive)Enjoy — Jan
SWI-Prolog Changelog since version 8.5.12
-
MODIFIED: win_add_dll_directory/1: throw exceptions on failure rather
than assuming failure ofAddDllDirectory()
indicates we need to
extend%PATH%
. -
ENHANCED: win_add_dll_directory/2: throw normal Prolog exceptions for
the two common reasons for this predicate to fail: non-existence of
the target or the target not being absolute. -
ENHANCED: building the autoload index now extracts the public
predicates in a more generic way, processing optional #! line,
:- encoding directives and (conditional) exports in the header.
This notably allows for module headers like below to be used
together with autoloading.:- module(m, [p/1]). :- if(current_prolog_flag(windows,true)). :- export(win_q/2). :- endif.
-
ENHANCED: PL_record_external() deal with records > 2Gb on 64 bit
platforms. -
FIXED: Issue#114: Windows getenv/2 may return additional garbage
(typically an extra\u0000
character at the end of variables of
1023 bytes or longer because the 0-byte is not added. Paul Singleton. -
FIXED: write_term/2 and friends handling of embrace of operants that
are operators for partial writes. -
FIXED: no space is required between a space and
(
. -
FIXED: write_term/2 and friends: do not embrace writing a single atom
if this is an operator and the priority(Priority) option is given. -
FIXED: Do not close the standard streams as part of atom-GC.
-
DOC: Create links for S*() function references
-
DOC: Started documenting SWI-Stream.h
-
FIXED: Sgets() handling of non-0-terminated output from Sfgets().
-
DOC: ord_intersection/2 is semidet.
-
DIST: Fixed rmd160 generation for scripts/update-macports
-
FIXED: write_term/2 with numbervars and variable_names (#866)
-
ENHANCED: do not map I/O errors to exceptions when the error occurs as
a result of a close that is initiated from the atom garbage collector.
Package clib
-
FIXED: process_create/3: allow
env([])
. -
FIXED: process_create/3: Windows: make environment(List) inherit the
environment as documented. -
FIXED: process_create/3: double env/environment option raised an
assertion failure. Now raises a permission error.
Package cpp
- ADDED: PlFunctor class conversion and comparison to
functor_t
Package http
- ADDED: Hook html_write:html_header_hook/1 to emit additional HTTP
headers for HTML pages.
Package pengines
- FIXED: term//2: operator atoms for other operators must always be
embraced.
Package pldoc
- DOC: Support the S*() functions for IOSTREAMS.
Package semweb
- FIXED: Better ordering of pre_ground_object/2 clauses