Download SICStus Prolog Release Notes

Transcript
Chapter 13: Revision History
44
− The example sessionsum was missing the line:
pSession.connect();
after the declaration of pSession.
− Session listeners were not notified when a client closed the stream.
• Jasper: A memory leak in multithread mode.
• Debugger:
•
•
•
•
•
•
•
A file/[1,2] breakpoint test or action would raise an exception when used with
uninstantiated first (file name) argument.
− Some conditional breakpoints could not be handled by SU_messages message processing. This sometimes caused a raw message term to be presented in the debugger.
− Sometimes breakpoint tests were evaluated with the wrong value for the bid/1
breakpoint condition. The bid/1 breakpoint condition was not always reset to
bid(off) when no breakpoint was selected. The documentation was updated to
correctly say bid(off) instead of bid(none).
Sometimes, SICStus would enter an infinite loop if the error stream was closed in the
other read-end. This could happen, e.g. when SICStus was invoked as a subprocess
and the parent process exited ungracefully.
Some Prolog code would not compile in profiledcode mode.
Spurious type errors in several library modules.
library(objects), library(structs): fixed a 64-bit issue, and putting integers now
checks for overflows.
library(avl): bug in avl_max/3.
library(clpfd): bug fixes for circuit/1, table/[2,3], lex_chain/[1,2], #\=.
library(bdb):
− db_open/5 could crash if the option cache_size/1 was passed.
− Very long filenames could cause crashes.
− Did not work reliably with non-ASCII file names.
− db_enumerate/3, db_sync/1, db_make_iterator/2, db_iterator_next/3 and
db_iterator_done/1 crashed if called after the database had been closed.
13.8.3 Other Changes
• The windowed executable (spwin.exe) on Windows now saves and reads the command
history (see Section 4.4 [Command Line Editing], page 7).
• write/[1,2] is now much faster when writing atomic terms.
• assertz/1 and friends are now faster when asserting facts, i.e. clauses without bodies.
• library(terms): the new predicate term_hash/3 allows more control over the hashing
behavior and hash algorithm used.
Notable new features: a new, better, default hash algorithm and several other algorithms, including the 4.0.4 version, are available; it is possible to obtain a full 32-bit
hash value; it is possible to get an instantiation error or hash value when the term
being hashed is nonground.