Ann: SWI-Prolog 6.3.19
Jan Wielemaker <[email protected]>
| Newsgroups | gmane.comp.ai.prolog.swi |
|---|---|
| Message-ID | <[email protected]> |
Hi,
I have uploaded SWI-Prolog 6.3.19. Mostly maintenance issues. Short
summary:
- Crash in argument-stack overflow handling. Crashes running code
with terms
that are very deeply nested on any but the last argument.
- Portability changes for SunOS 5.11 (gcc 4.8) and Win64 (long/pointer
issues).
The build-script now extracts `dangerous' warnings from the
logfiles, so they
are less easy to ignore. See http://www.swi-prolog.org/build/SunOS.txt.
A lot of this was contributed by Keri Harris. Thanks.
- Various enhancements to Prolog<->JSON conversion (see below).
- Next step in PostScript in xpce generation error (sorry Jochem).
- Better support for quasi quotations in the development tools.
- Fixed possible deadlock when using processes using process_create/3 as
filters (i.e., connection both stdin and stdout from Prolog, sending
data to stdin, close and read output from stdout). The fix is 100%
for systems providing pipe2() and significantly reduces the window
for systems lacking this call (e.g., MacOS).
Enjoy --- Jan
=========================================
SWI-Prolog Changelog since version 6.3.18
=========================================
* DOC: Format/writef updates
* FIXED: Initialization of the argument stack. May cause crashes on
very deeply nested terms. Daniel Diaz.
* CLEANUP: use GCC's __attribute__((warn_unused_result)) for
PL_get_string_chars()
* ADDED: Support for demand loading quasi quotations for
cross-referencing and coloring.
* FIXED: Sandbox handling for quasi quotations (calling wrong module)
* ADDED: predicate_property/2: property quasi_quotation_syntax
* BUILD: Use $(MAKE) -C instead of (cd && $(MAKE)) to make sure we
propagate the exit status properly.
* PORT: Also include <fcntl.h> to get the FD_CLOEXEC flag on SunOS.
* CLEANUP: Unused function if O_DEBUG is not active.
* PORT: Avoid wcsdup() on SunOS due to missing prototype
* PORT: Avoid including <math.h> before pl-incl.h because this results in
inconsistent settings for _FILE_OFFSET_BITS on SunOS (and maybe others).
* PORT: Terrible hack to work around SunOS 5.11/gcc signbit issues.
* FIXED: Type error when dumping a debugging stacktrace.
* BUILD: Use $(MAKE) rather than make.
* PORT: Get rid of our own abs() macro in favor of C99 functions.
* BUILD: parse build log for GCC warnings that may indicate runtime
failures
* FIXED: Possibility that the claim "Therefore we keep signalling every
128 new atoms. Sooner or later some actually active thread will pick up
the request and process it." in pl-atom.c is never true. Wouter Beek.
Relaxed a test a bit because the current algorithm only guarantees
an atom GC between margin and margin+128.
============
Package clib
============
* FIXED: Ensure proper inheritance of file descriptors when using
concurrent process_create/3. Jacco van Ossenbruggen.
* CLEANUP: Make sure we catch EINTR when calling close() in
process_create/3
* FIXED: process_create/3 may close wrong stream in case of errors.
* PORT: create_process/3 check relied on non-portable behaviour of tr(1)
* PORT: Include signal.h to get the prototype for kill()
============
Package http
============
* FIXED: Disambiguating JSON->Prolog translation.
* MODIFIED: Make json_to_prolog/2 ignore fields in the json that are
not specified in the json_object/1 declaration. If multiple rules
now apply, the one producing the Prolog term with the highest arity
is selected.
* ADDED: library(http/json_convert) - disjunction of types using
(TypeA|TypeB) - null `type' to demand the key is not present -
Handle specified defaults as optional fields in the JSON input.
* FIXED: library(http/json_convert): properly handle types such as
list(atom).
* DOC: Old style quasi quotations
* DOC: Enhanced documentation of aggregate option. Anne Ogborn.
===========
Package nlp
===========
* PORT: Cleanup wcsdup() issues.
============
Package odbc
============
* ENHANCED: return domain_error on invalid ODBC findall/2 input
* ENHANCED: support widechar+64 bit types in ODBC findall/2
* FIXED: possible crash when freeing compiled findall/2
* FIXED: possible crash when using findall/2 option in odbc_query/4
=============
Package pldoc
=============
* FIXED: Object links to stable section identifiers
==============
Package semweb
==============
* FIXED: rdf_save_canonical_turtle/2 used user prefixes.
* FIXED: TriG parser: handle the optional = in <graph> "="? "{"
* FIXED: Possible constant computation overflow (32-bit hardware)
* PORT: Another missing prototype
* PORT: Avoid wscdup warnings on SunOS
============
Package sgml
============
* FIXED: Make parser understand html4 as alias for html for the dialect
option. Jacco van Ossenbruggen.
* FIXED: Bug#110: library(sgml_write): printing numeric attribute values.
=============
Package space
=============
* FIXED: Typo; didn't compile anymore
* CLEANUP: Avoid warning.
===========
Package ssl
===========
* MODIFIED: ssl_context/3: Throw an exception if ssl_config() fails
===============
Package windows
===============
* ENHANCED: support QWORD registry types
* FIXED: possible access to freed memory
* FIXED: check key values when creating registry keys
* FIXED: handle exception when setting registry keys
* CLEANUP: silence GCC warnings about safe int <-> pointer casts
============
Package xpce
============
* CLEANUP: Use strncmp(). This also fixes a crash when compiling using
GCC 4.8.1 on MacOSX. Looks like a GCC compiler error, but one should
be careful with saying that ...
* FIXED: text_buffer->delete if start position > size.
* FIXED: send CTRL+C to child process using correct PGID
* CLEANUP: use correct WNDPROC type for callback functions
* FIXED: Sync stream.h between xpce and Prolog. Fixed Ssize() in xpce
on big endian machines.
* CLEANUP: Warnings for printing XPCE integers on 32-bit platforms
* CLEANUP: fix aliasing issue
* CLEANUP: Methods cannot be saved anomore anyway. Do not pretend
they can.
* CLEANUP: Lots of Win64 types
* CLEANUP: types and complete change in string structure
* CLEANUP: Handle string header with a union rather than casts
* FIXED: PostScript generation with negative floats. Jochem Liem.
Broken in locale fix (177f0b8c201740ae9499f8bfd790a013d6a28050).