Sorry for the length of this post, but I'm encountering a very odd problem. This problem involves different behavior on two different x86 machines, one of which is a Dell Xeon desktop machine running Fedora Core with a 2.4.22 kernel, the other an IBM T42 laptop running Debian Testing with a 2.6.3 kernel. (The laptop has a Pentium M chip --- I do not know if this can be causing the differences, I guess the kernel difference seems more likely.)
On both machines, I am using SLIME from CVS downloaded on 06 August 2004, and I'm using the CMUCL 19A binary release downloaded on 05 August 2004. Before each run of SLIME, I remove all the .x86f files from the slime directory, as well the entire ~/.slime directory, which seems to be caching these (this is probably overkill, but I don't have a good feel for what's being cached when I change things, and I'm trying to isolate the problem).
In all cases, we consider a .emacs file consisting (only) of the following lines: (add-to-list 'load-path "/home/rif/Software/slime") (require 'slime) (setq swank:*communication-style* :sigio) (setq inferior-lisp-program "/home/rif/Software/CMU19A/bin/lisp")
The .cmucl-init file is either blank, or consists of the single line: (set-floating-point-modes :traps nil)
If the .cmucl-init file is not blank (contains the above line), at the CL-USER> prompt, I type: (get-floating-point-modes)
If the .cmucl-init file IS blank, then I type at the prompt: (set-floating-point-modes :traps nil) (get-floating-point-modes)
We consider a "correct" result to be (:TRAPS NIL :ROUNDING-MODE :NEAREST :CURRENT-EXCEPTIONS (:INEXACT) :ACCRUED-EXCEPTIONS (:INEXACT) :FAST-MODE NIL :PRECISION-CONTROL :64-BIT)
We consider (:TRAPS (:OVERFLOW :INVALID :DIVIDE-BY-ZERO) :ROUNDING-MODE :NEAREST :CURRENT-EXCEPTIONS (:INEXACT) :ACCRUED-EXCEPTIONS (:INEXACT) :FAST-MODE NIL :PRECISION-CONTROL :64-BIT)
to be an "incorrect result".
On each of the two machines, I tested the empty and single-line .cmucl-init files inside and outside SLIME (outside SLIME means starting CMUCL in a terminal). On the desktop, everything gave the correct result. On the laptop, everything gave the correct result EXCEPT the combination of the blank initialization file and SLIME, which gave the incorrect result. For this combination, I also tried changing :sigio in the .emacs to :fd-handler, based on some earlier discussions on this list; this did not seem to make any difference.
Summary: On my Dell machine, all methods give the correct result. On my IBM laptop, I do not have any way to set CMUCL floating-point modes on an already running SLIME, although I can do it either in a terminal or at SLIME start-up time.
Any help or suggestions are appreciated.
Sincerely,
rif