Version 3.8.7 is mainly a bugfix release. New features:
Bugs fixed:
findall/3 and friends, sort/2, keysort/2.
atom_codes/2, atom_chars/2, number_codes/2, and
number_chars/2 were not steadfast.
library(timeout): Some timeouts were ignored if they occurred during
exception handling.
library(timeout): If the timer cannot be set up (using setitimer),
then a system error exception is raised. This happens on Solaris in
multi-threaded applications, e.g. when using SICStus with Java.
SP_deinitialize() not working properly.
~@ were not called as fully general goals.
listing/[0,1] did not module prefix bodies of imported
predicates correctly.
library(clpfd): some Boolean constraints were incorrectly
macro-expanded; some type errors merely failed; over-zealous integer
overflow detection in arithmetic.
sockets:socket_select/[5,6] will work correctly also for input
buffered socket streams. You no longer need to disable buffering with
sockets:socket_buffering/4 just to get
sockets:socket_select/[5,6] to work.
library(sockets): A signal delivered to the process will no
longer cause any socket predicates to give an error (proper EINTR
handling). A downside to this is that SICStus no longer is interruptible
with ^C (SIGINT) while blocking except in
sockets:socket_select/[5,6]. In the case of
sockets:socket_select/[5,6], signal delivery will be treated as
if the select() call had a zero timeout. Such spurious timeouts
are a potential backward compatibility issue.
sockets:socket_buffering/4: A crashing bug introduced in 3.8.6.
Added argument validation so that it now fails on non-socket streams and
other incorrect arguments. Note that the primary reason for changing
socket buffering prior to 3.8.7 is gone since
sockets:socket_select/[5,6] now work also for input buffered sockets.
system:file_property/2 failed to recognize symbolic links as such.
SPTerm.consFunctor. This
also affected all read-from-string type methods.
SPTerm.getNumberChars called an undefined native method.
library('clpqr/examples/mip') would not load properly.
spld --static used incorrect options when specifying
static linking to Sun Workshop C-compiler.