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.