single_var_warnings
and discontiguous_warnings
are now volatile with default value off
in runtime systems.
This means that, as before, in runtime systems, these warnings are off by default,
but now they can be switched on.
absolute_file_name/[2,3]
no longer treats the file name
user
in a special way, by default. The new option
if_user/1
is available if the old behavior is needed.
absolute_file_name/[2,3]
now applies the same kind of
case-normalization to the extensions/1
and glob/1
arguments as to
the file name. This affects Windows, where extensions(['.pl'])
now will have the same effect as extensions(['.PL'])
. Prior to
release 4.3 the extensions/1
and glob/1
options were case sensitive on all
platforms.
open/[3,4]
,
and other built-in predicates that creates files and directories,
no longer applies
case-normalization on the file name before creating a file. This
means that open/[3,4]
creates files using the same
character case as specified in the file argument. The stream property
file_name/1
is not affected, i.e. it still shows a
case-normalized name.
This change is mostly invisible from Prolog but it means that creating
a file with open('HelloWorld.txt', write, S)
will now create
file named ‘HelloWorld.txt’ whereas earlier releases would create
a file ‘helloworld.txt’.
library(types)
:
Goal and Arity arguments are now checked.
library(lists)
:
is_list/1
and proper_length/2
now fail for
cyclic lists. They used to not terminate.
table/3
and case/4
have gone obsolete.
cumulatives/3
do not need to be fixed.
library(tkconsole)
and
tcltk:tk_terminal/5
has been ported from SICStus 3 to SICStus
4.