Luke Gorrie luke@bluetail.com writes:
I am experiencing odd behavior using SLIME with CMUCL. It seems that a call to ext:set-floating-point-modes is failing to set the modes correctly. From within SLIME, I have the following interaction:
I don't understand this stuff, but it does appear to be caused by our using SIGIO.
It seems that CMUCL saves and restores the FPU modes in the signal handler. Apparently it's even possible to cheat:
CL-USER> (progn (ext:set-floating-point-modes :traps nil) (throw 'lisp::top-level-catcher nil)) ; Evaluation aborted CL-USER> (ext:get-floating-point-modes) (:traps nil :rounding-mode :nearest :current-exceptions nil :accrued-exceptions nil :fast-mode nil ...) CL-USER>
Helmut.