8.5.2 Bugs Fixed
- Memory manager: efficiency bug.
library(structs)
: unsigned types, 64-bit issues.
-
Prologbeans
: Lists of integers with element values above 255
broke the communication between Java and SICStus.
-
Closing a stream would sometimes hang due to a race condition on
UNIX-like platforms. This was most likely to happen on MacOS X.
set_stream_position/2
and seek/4
did not work on output
streams.
-
Multiple issues with
absolute_file_name/3
.
- Option
file_errors(fail)
would sometimes report permission
errors (SPIO_E_PERMISSION_ERROR
) instead of silently failing.
- Option
file_errors(fail)
now fails instead of raising an
exception for file name domain errors like malformed file names and
too many symbolic links (SPIO_E_INVALID_NAME
).
- Options
access(execute)
and access(search)
now imply
access(exist)
. This is similar to how access(read)
works.
- The undocumented internal option
access(directory)
was
allowed. Use file_type(directory)
instead.
-
library(process)
: process_create/[2,3]
now skips
non-executable file and non-files if the File-argument can expand
to more than one file. This is especially useful when using the symbolic
name path/1
to specify a file.
-
library(avl)
: Bug in avl_delete/4
.
-
library(random)
: Document and check validity of the random number
generator state.
Bug in random_numlist/4
.
-
get_atts/2
: Could fail incorrectly.
-
library(clpfd)
: A memory management problem.
An integer overflow problem.
Propagation bug in case/[3,4]
, affecting automaton/8
too.
-
A problem with shared subterms in copying, asserting, collecting
and throwing terms.
-
The Prolog flag
title
was truncated on Windows spwin.exe.
-
The
spdet
utility did not automatically add `.pl' and
`.pro' extensions to file name arguments.
Send feedback on this subject.