I just looked at some SBCL code of mine that has different implementations of a function according to whether we're on Windows or not:
#-win32 (defun cumnorm (x) "The cumulative normal distribution function - zero mean and unit variance" (declare (type double-float x)) (/ (#+sbcl sb-alien:alien-funcall #+cmu alien:alien-funcall (#+sbcl sb-alien:extern-alien #+cmu alien:extern-alien "erfc" (function double-float (double-float))) (- (/ (coerce x 'double-float) (sqrt 2)))) 2))
#+win32 (defun cumnorm (x) "The cumulative normal distribution function - zero mean and unit variance" (declare (type double-float x)) (/ (error-function-complement (- (/ (coerce x 'double-float) (sqrt 2)))) 2.0))
erfc is not in the C library on Windows.
I'm sure that on Windows, SBCL used to highlight the #-win32 form in font-lock-comment-face (red in my Emacs) because WIN32 is in *FEATURES*, but for some reason this is no longer working.
I recently CVS updated SLIME from about November (?) 2008 to 2009-05-19, so perhaps something in there broke it. I haven't yet got around to doing the CVS binary search thing to work out if and when it did.
Any suggestions?
Graham