character_escapesis set to
library(sockets), are not interruptible by C-c in any kind of SICStus executable.
user_errorstream 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.
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.
tk_new/2is not supported.
library(timeout)is supported. As of SICStus 3.10, the time is user time of the main thread under Windows NT/2000/XP.
AF_UNIXaddress family is (unsurprisingly) not supported;
socket_select/[5,6]support only socket streams for arg 4(5).
popen/3is not supported.
kill/2attempts to terminate the requested process irrespectively of the 2nd arg. You should not use it as it bypasses the killed process cleanup routines.
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.