X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fpcl%2Fstd-class.lisp;h=eaa7ad0095edf2e9644d7ba5f6a924519a4796df;hb=79389fecc0308d1a582424b198ebfc402ce161e1;hp=89815b99bb87536520e77bd7528b9233b66a4cff;hpb=ad81e5cb97ca64bdf10904d0829ad2f79b7af266;p=sbcl.git diff --git a/src/pcl/std-class.lisp b/src/pcl/std-class.lisp index 89815b9..eaa7ad0 100644 --- a/src/pcl/std-class.lisp +++ b/src/pcl/std-class.lisp @@ -349,15 +349,17 @@ (defun ensure-class-values (class initargs) (let (metaclass metaclassp reversed-plist) (doplist (key val) initargs - (cond ((eq key :metaclass) - (setf metaclass val - metaclassp key)) - (t - (when (eq key :direct-superclasses) - (setf val (mapcar #'fix-super val))) - (setf reversed-plist (list* val key reversed-plist))))) + (cond ((eq key :metaclass) + (setf metaclass val + metaclassp key)) + (t + (when (eq key :direct-superclasses) + (setf val (mapcar #'fix-super val))) + (setf reversed-plist (list* val key reversed-plist))))) (values (cond (metaclassp - (find-class metaclass)) + (if (classp metaclass) + metaclass + (find-class metaclass))) ((or (null class) (forward-referenced-class-p class)) *the-class-standard-class*) (t