X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fpcl%2Fdefs.lisp;h=c6908d6e3af68946fc2a080c55d6aaca174dea59;hb=d25e3478acccec70402ff32554669a982be8e281;hp=cea2b0e514447e172a7e8f56cac0e2bd838a89d2;hpb=4f7161165647d655392713a0d95c951e4e1749ea;p=sbcl.git diff --git a/src/pcl/defs.lisp b/src/pcl/defs.lisp index cea2b0e..c6908d6 100644 --- a/src/pcl/defs.lisp +++ b/src/pcl/defs.lisp @@ -230,7 +230,7 @@ (dohash ((sub v) subs) (declare (ignore v)) (/noshow sub) - (when (member class (direct-supers sub)) + (when (member class (direct-supers sub) :test #'eq) (res sub))))) (res)))) (mapcar (lambda (kernel-bic-entry) @@ -360,7 +360,12 @@ ;; Used to make DFUN-STATE & FIN-FUNCTION updates atomic. (%lock :initform (sb-thread::make-spinlock :name "GF lock") - :reader gf-lock)) + :reader gf-lock) + ;; Set to true by ADD-METHOD, REMOVE-METHOD; to false by + ;; MAYBE-UPDATE-INFO-FOR-GF. + (info-needs-update + :initform nil + :accessor gf-info-needs-update)) (:metaclass funcallable-standard-class) (:default-initargs :method-class *the-class-standard-method* :method-combination *standard-method-combination*)) @@ -663,10 +668,14 @@ ()) (defclass standard-class (std-class) - ()) + () + (:default-initargs + :direct-superclasses (list *the-class-standard-object*))) (defclass funcallable-standard-class (std-class) - ()) + () + (:default-initargs + :direct-superclasses (list *the-class-funcallable-standard-object*))) (defclass forward-referenced-class (pcl-class) ()) @@ -675,15 +684,9 @@ (defclass condition-class (slot-class) ()) (defclass structure-class (slot-class) - ((defstruct-form - :initform () - :accessor class-defstruct-form) - (defstruct-constructor - :initform nil - :accessor class-defstruct-constructor) - (from-defclass-p - :initform nil - :initarg :from-defclass-p))) + ((defstruct-form :initform () :accessor class-defstruct-form) + (defstruct-constructor :initform nil :accessor class-defstruct-constructor) + (from-defclass-p :initform nil :initarg :from-defclass-p))) (defclass definition-source-mixin (standard-object) ((source