Version 3.8.4 is mainly a bugfix release. New features:
abort/0
returns to the innermost top-level, and does not
switch off the debugger.
library(clpfd)
: Given Term containing domain
variables, fd_copy_term(
Term,
Template,
Body)
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.
library(tcltk))
:
list(CommandList)
to the possible command
formats. It creates a TCL list by, in effect, calling the TCL
command list
with 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
details.
writeq(Command)
and
write_canonical(Command)
as legal command
specifications. Documented that write_canonical
is 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_num_main_windows/2
and tk_main_window/2
no
longer segfaults under Windows if tk_new/2
has 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.
CommandList
now
becomes properly NUL terminated.
prolog_call
now 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.
Bug fixes:
skip_line/1
, at_end_of_file/0
, tab/2
.
include/1
directive.
save_program/[1,2], save_files/[1,2]
: check for I/O errors;
problems with '$ref'/2
terms; 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.
spld
/splfr
under Windows: Errors are now properly reflected in
the exit code from these tools.
library(clpfd)
: disequations speeded up, bugs in
disjoint1/[1,2]
, disjoint2/[1,2]
, 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 (libsprt311.so
) but the
shared runtime system will not be used. This will be fixed in a
forthcoming release.