Version 3.8.4 is mainly a bugfix release. New features:
abort/0returns to the innermost top-level, and does not switch off the debugger.
library(clpfd): Given Term containing domain variables,
)will compute Template and Body where Template is a copy of the same term with all variables renamed to new variables such that executing Body will post constraints equivalent to those that Term is attached to.
list(CommandList)to the possible command formats. It creates a TCL list by, in effect, calling the TCL command
listwith the result of converting each element of CommandList. The result is that Tcl will treat the result as a list with the same length as CommandList even if the elements contains spaces or other special characters.
Current code that uses
ListOfCommands should probably often be
better off using
list(ListOfCommands). See the manual for
write_canonical(Command)as legal command specifications. Documented that
write_canonicalis the preferred way of passing Prolog terms from Prolog to Tcl and back.
Now the value of variables named
_ are ignored. This makes
it possible to avoid errors if some uninteresting result is not in
the special command format. This used to be less of a problem
since such errors were silently ignored. (Please note: in SICStus 3.8.5
this was changed to ignore all variables with names
starting with underscore `_'.)
library(tcltk)always use UTF8 so that non seven bit characters gets recognized by Tcl. This transfers character codes unchanged between SICStus and Tcl so it assumes that SICStus interprets character codes as UNICODE (as this is what Tcl does).
tk_main_window/2no longer segfaults under Windows if
tk_new/2has not been called. Added a "tk_new called" check to some other routines as well. The segfault occurred when, due to a bug in Tk, Tk uses stubs to access Tcl. Presently Tk uses Tcl stubs by default only under Windows.
CommandListnow becomes properly NUL terminated.
prolog_callnow resets the FLI stack to avoid space leaks when Tcl/tk is the master and Prolog the slave.
library('linda/client'): New predicate
shutdown_server/0. The server keeps running after receiving this signal, until such time as all the clients have closed their connections. Courtesy of Malcolm Ryan.
save_program/[1,2], save_files/[1,2]: check for I/O errors; problems with
'$ref'/2terms; problems with SICStus Objects.
unload_foreign_resource/1: false alarm in prelinked binaries.
library(tcltk)): Bug fixes and enhancements; see the `New Features' section above for details.
library(clpfd): disequations speeded up, bugs in
element/3, propagation, entailment detection, backward compatibility.
spld --static, load (non-prelinked) dynamic foreign resources. With this workaround loading a dynamic foreign resource into a static SICStus executable will still, unnecessarily, load the shared version of the SICStus runtime system (libsprt312.so) but the shared runtime system will not be used. This will be fixed in a forthcoming release.