[CM] Recent SBCL problems

R. Mattes rm@seid-online.de
Wed, 19 Oct 2005 14:15:10 +0200

Just a note for SBCL users that don't follow the sbcl-devel mailing
list: Christophe Rhodes posted a "bandaid" fix (unfortunately not as a
follow-up to Rick Taube's bugreport) that seems to cure the type
inference problems with recent sbcls. Here's a copy of it:

(in-package "SB-KERNEL")
(defun round-numeric-bound (x class format up-p)
  (if x
      (let ((cx (if (consp x) (car x) x)))
        (ecase class
          ((nil rational) x)
           (if (and (consp x) (integerp cx))
               (if up-p (1+ cx) (1- cx))
               (if up-p (ceiling cx) (floor cx))))
           (let ((res
                    ((and format (subtypep format 'double-float))
                     (if (<= most-negative-double-float cx
                         (coerce cx format)
                     (if (<= most-negative-single-float cx
                         ;; FIXME
                         (coerce cx (or format 'single-float))
             (if (consp x) (list res) res)))))

This needs to be loaded _before_ compilation of cm/cmn.

 HTH Ralf Mattes