X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fpcl%2Fdefclass.lisp;h=845edaf2ea3bdca835ae1762650c972b054f5970;hb=683874b497a99cd2c11b6c5d9b47e2785b1ede5f;hp=a608ddc5202c906f39dc2f0b9204654a79f86a51;hpb=416152f084604094445a758ff399871132dff2bd;p=sbcl.git diff --git a/src/pcl/defclass.lisp b/src/pcl/defclass.lisp index a608ddc..845edaf 100644 --- a/src/pcl/defclass.lisp +++ b/src/pcl/defclass.lisp @@ -109,9 +109,8 @@ (fix-super (car supers))) (and (not (eq name 'structure-object)) *the-class-structure-object*))) - (defstruct-form (make-structure-class-defstruct-form name - slots - include))) + (defstruct-form (make-structure-class-defstruct-form + name slots include))) `(progn (eval-when (:compile-toplevel :load-toplevel :execute) ,defstruct-form) ; really compile the defstruct-form @@ -275,10 +274,11 @@ (values (early-collect-slots cpl) cpl (early-collect-default-initargs cpl) - (gathering1 (collecting) + (let (collect) (dolist (definition *early-class-definitions*) (when (memq class-name (ecd-superclass-names definition)) - (gather1 (ecd-class-name definition)))))))) + (push (ecd-class-name definition) collect))) + (nreverse collect))))) (defun early-collect-slots (cpl) (let* ((definitions (mapcar #'early-class-definition cpl))