14.30.3 Bugs Fixed
- Cleanup goals could be woken too late.
- Arithmetic could crash on pending unblocked goals.
- Some improvements to source-linked debugging, e.g. after term expansion.
frozen/2 returned the wrong thing for variables with multiple blocked goals.
- Conversion of multifile from compiled to interpreted could fail in special cases.
- Starting up with / as the working directory could cause problems.
- In some cases, incorrect UTF-8 encoding was not detected when reading text streams.
- In the context of multiple block declarations on the same predicate,
save_program/[1,2] and friends would not preserve their order.
- The C API function
scalar_product_reif/[5,6]: fix propagation bug in scope of
- - Fix garbage collection hazards.
- - Ensure that
empty_interval(Min, Max) is equivalent to
\+fdset_interval(_, Min, Max),
which was always intended.
- - The attribute predicates could crash or misbehave if new attributes
were defined, e.g. by loading files, while some variable already had
- - SICStus could crash or misbehave if many modules (more than 255)
attempted to define attributes. The maximum number of modules that
defines attributes remains limited, but exceeding the limit will not
crash SICStus, but print a warning.
Send feedback on this subject.