0.8alpha.0.21:
[sbcl.git] / src / code / condition.lisp
index 5feeb73..5cdbc1a 100644 (file)
 ;;; ANSI-compliant, fixing it would also be good.:-)
 (defun compute-effective-slots (class)
   (collect ((res (copy-list (condition-classoid-slots class))))
-    (dolist (sclass (condition-classoid-cpl class))
+    (dolist (sclass (cdr (condition-classoid-cpl class)))
       (dolist (sslot (condition-classoid-slots sclass))
-       (let ((found (find (condition-slot-name sslot) (res))))
+       (let ((found (find (condition-slot-name sslot) (res)
+                           :key #'condition-slot-name)))
          (cond (found
                 (setf (condition-slot-initargs found)
                       (union (condition-slot-initargs found)
               (reader-error-format-arguments condition)
               (reader-impossible-number-error-error condition))))))
 
-;;; should this inherit from error?  good question
-(define-condition timeout (error) ())
+(define-condition sb!ext::timeout (serious-condition) ())
 
 
 \f