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
MODIFIED: win_add_dll_directory/1: throw exceptions on failure rather
than assuming failure of
AddDllDirectory()indicates we need to
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
FIXED: Issue#114: Windows getenv/2 may return additional garbage
(typically an extra
\u0000character 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.
FIXED: process_create/3: allow
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.
- ADDED: PlFunctor class conversion and comparison to
- ADDED: Hook html_write:html_header_hook/1 to emit additional HTTP
headers for HTML pages.
- FIXED: term//2: operator atoms for other operators must always be
- DOC: Support the S*() functions for IOSTREAMS.
- FIXED: Better ordering of pre_ground_object/2 clauses