13.35.3 Bugs Fixed
- Improve the numerical properties of several trigonometric and
hyperbolic functions.
- Blocked or constrained goals on the first argument to
length/2
could miss solutions if woken inside length/2.
- Jitted code on Intel platforms would sometimes give the wrong result
when subtracting two integers.
- The all-solutions predicates
findall/3 and friends would
leak memory if the generating goal raised an exception.
- Streams opened with
eof_action(reset), e.g., terminal streams,
could misbehave when a “soft” end of file was read (e.g., when doing
^D in a terminal). Symptoms included lost characters and
incorrect end-of-stream status.
- A performance problem with mutables in combination with
call_cleanup/2 has been fixed.
This would slow down the top level when the debugger was enabled.
- Calls to
timeout:time_out/3 would sometimes “leak” a
time_out exception for user code that throws an exception that
reaches timeout:time_out/3. The symptom was spurious
time_out exceptions reported at the top level, or program
exit.
- CLPFD:
- - Binary bitwise operations could crash.
- -
disjoint1/[1,2], disjoint2/[1,2], diffn/[1,2] take non-negative lengths.
- - In
automaton/[3,8,9], check that arcs do not contain any
variable that is not a counter or mentioned in Template.
fd_global/[3,4]: more type checks.
Send feedback on this subject.