/
and \
as separator are accepted. SICStus
returns paths using /
. Note that \
, since it is escape
character, must be given as \\
unless the Prolog flag
character_escapes
is set to off
.
absolute_file_name/3
.
sicstus
and spwin
.
spwin
is in a blocking
read from the GUI window.
sicstus
is attached to a console window. That is, if it is
started from a command prompt window.
library(sockets)
, are not interruptible by C-c in any kind
of SICStus executable.
user_error
stream is line buffered.
comint-interrupt-subprocess
) will not interrupt a
blocking read from standard input. The interrupt will be noted as soon
as some character is sent to SICStus. The characters typed will not be
discarded but will instead be used as debugger commands, sometimes
leading to undesirable results.
Send EOF
from the menu, i.e. comint-send-eof
),
closes the connection to the SICStus process. This will cause SICStus to
exit. This problem cannot be fixed in SICStus; it is a limitation of
current versions of FSF Emacs and XEmacs (at least up to FSF Emacs 20.7
and XEmacs 21.5).
Instead of sending and end of file, you can enter the symbol
end_of_file
followed by a period. Alternatively, a C-z can
be generated by typing C-q C-z.
statistics(runtime,
...)
measures user time of the thread running SICStus (the main thread)
instead of process user time. This makes statistics(runtime, ...)
meaningful also in a multi-threaded program. For a single-threaded
program this is the same as process user time.
top_level_events
option to tk_new/2
is not
supported.
library(timeout)
is supported. Under Windows 95/98/ME time is measured in real
time (walltime), as opposed to process virtual time. As of SICStus 3.10,
the time is user time of the main thread under Windows NT/2000/XP.
library(sockets)
: The AF_UNIX
address family is (unsurprisingly)
not supported; socket_select/[5,6]
support only socket streams for
arg 4(5).
library(system)
: popen/3
is not supported.
kill/2
attempts to terminate the requested
process irrespectively of the 2nd arg. You should not use it as it
bypasses the killed process cleanup routines.
library(system)
: shell/[1,2]
does not work reliably except
for the simples cases of a single command with no embedded spaces or
quote characters. This is because of limitations of agument passing in
Windows. A possible workaround is to create a temporary file and invoke
that instead.