10.15.11 Bugs Fixed in 3.9
at_end_of_stream/0, get/1, get0/1, put/1,
skip/1, tab/1 incorrectly required that the current input
stream be a text stream.
stream_property(S, end_of_stream(...)) now works for tty streams.
user:goal_expansion/3 was called with the wrong second argument
for imported and built-in predicates.
require/1 was broken.
- The escape sequence `\c' could be misread.
- In ISO mode, terms were printed with non-ISO escape sequences.
charsio:format_to_chars/[3,4] are now meta-predicates.
charsio:format_to_chars/[3,4] is now re-entrant.
library(clpfd): some Boolean constraints were incorrectly
macro-expanded; some type errors merely failed; over-zealous integer
overflow detection in arithmetic; unifying domain variables did not
work reliably and failed silently when type errors were intended.
library(clpq,clpr):
Variables introduced via ordering/1 were not
initialized fully.
library('linda/client'): shutdown_server/0 now raises an
existence error if there is no connection to the server available.
- Emacs line break points now work for module-files.
- Windows now always uses ^Z where UNIX uses ^D to signal end
of file on input from the terminal.
- Under Windows, when running SICStus under Emacs, the SICStus process
sometimes got stuck in a tight loop when Emacs closed the connection to
the SICStus sub-process. It will now exit instead; see Windows limitations.
- Under Windows, splfr now converts the resource name to
lowercase. This is to match the fact that SICStus converts path names
to lowercase under Windows.
- As of SICStus 3.8.7, for
sockets:socket_select/[5,6], signal delivery will be
treated as if the select() call had a zero timeout. Such
spurious timeouts are now handled invisibly within library(sockets) and
will not be seen by user code.