"Execute the body, asynchronously interrupting it and signalling a
 TIMEOUT condition after at least EXPIRES seconds have passed."
   (with-unique-names (timer)
-    `(let ((,timer (make-timer (lambda ()
-                                 (cerror "Continue" 'sb!ext::timeout)))))
-      (schedule-timer ,timer ,expires)
-      (unwind-protect
-           (progn ,@body)
-        (unschedule-timer ,timer)))))
+    ;; FIXME: a temporary compatibility workaround for CLX, if unsafe
+    ;; unwinds are handled revisit it.
+    `(if (> ,expires 0)
+         (let ((,timer (make-timer (lambda ()
+                                     (cerror "Continue" 'sb!ext::timeout)))))
+           (schedule-timer ,timer ,expires)
+           (unwind-protect
+                (progn ,@body)
+             (unschedule-timer ,timer)))
+         (progn ,@body))))
 
 (in-package "MOP-6")
 
 ;;; COMPUTE-SLOTS :AROUND respecting requested order
-(defclass slot-rearrangement-class (standard-class) 
+(defclass slot-rearrangement-class (standard-class)
   ())
 (defmethod compute-slots ((c slot-rearrangement-class))
   (reverse (call-next-method)))
 (with-test (:name (compute-slots standard-class :order))
   (let ((class (find-class 'rearranged-class)))
     (finalize-inheritance class)
-    (assert (equal (mapcar #'slot-definition-name (class-slots class)) 
+    (assert (equal (mapcar #'slot-definition-name (class-slots class))
                    '(b a)))))
 (with-test (:name (compute-slots standard-class :slots))
   (let ((r (make-instance 'rearranged-class))
 (with-test (:name (compute-slots funcallable-standard-class :order))
   (let ((class (find-class 'funcallable-rearranged-class)))
     (finalize-inheritance class)
-    (assert (equal (mapcar #'slot-definition-name (class-slots class)) 
+    (assert (equal (mapcar #'slot-definition-name (class-slots class))
                    '(b a)))))
 (with-test (:name (compute-slots funcallable-standard-class :slots))
   (let ((r (make-instance 'funcallable-rearranged-class))
 
 ;;; checkins which aren't released. (And occasionally for internal
 ;;; versions, especially for internal versions off the main CVS
 ;;; branch, it gets hairier, e.g. "0.pre7.14.flaky4.13".)
-"0.9.4.75"
+"0.9.4.76"