X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fpcl%2Ffixup.lisp;h=2ea6fb9ab6c151c1ed18cac83a4c72bb58aead3f;hb=d25e3478acccec70402ff32554669a982be8e281;hp=b7b4f21f05cfb6d81f4a64d0b2dbb42c8f37ac79;hpb=0ee1135a83da462e6de2a98bb2eff837b278f926;p=sbcl.git diff --git a/src/pcl/fixup.lisp b/src/pcl/fixup.lisp index b7b4f21..2ea6fb9 100644 --- a/src/pcl/fixup.lisp +++ b/src/pcl/fixup.lisp @@ -26,24 +26,11 @@ (!fix-early-generic-functions) (!fix-ensure-accessor-specializers) (compute-standard-slot-locations) -(dolist (s '(condition structure-object)) - (dohash (k v (classoid-subclasses (find-classoid s))) +(dolist (s '(condition function structure-object)) + (dohash ((k v) (classoid-subclasses (find-classoid s))) (find-class (classoid-name k)))) (setq *boot-state* 'complete) (defun print-std-instance (instance stream depth) (declare (ignore depth)) (print-object instance stream)) - -;;; Access the slot-vector created by MAKE-SLOT-VECTOR. -(defun find-slot-definition (class slot-name) - (declare (symbol slot-name) (inline getf)) - (let* ((vector (class-slot-vector class)) - (index (rem (sxhash slot-name) (length vector)))) - (declare (simple-vector vector) (index index)) - (do ((plist (svref vector index) (cdr plist))) - ((not plist)) - (let ((key (car plist))) - (setf plist (cdr plist)) - (when (eq key slot-name) - (return (car plist)))))))