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.