X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fpcl%2Finit.lisp;h=7e59506bfebea71273148c8e68a22391825d5f08;hb=b429c5c0557ed790e84dae4d6c35e06ab1a14416;hp=62a342f5c2badb5a807c310fa59b3e3b5c034039;hpb=5b5853f5f58c84f89e2edfc90805e658e188cd31;p=sbcl.git diff --git a/src/pcl/init.lisp b/src/pcl/init.lisp index 62a342f..7e59506 100644 --- a/src/pcl/init.lisp +++ b/src/pcl/init.lisp @@ -32,9 +32,9 @@ (unless (class-finalized-p class) (finalize-inheritance class)) (let ((class-default-initargs (class-default-initargs class))) (when class-default-initargs - (setf initargs (default-initargs class initargs class-default-initargs))) + (setf initargs (default-initargs initargs class-default-initargs))) (when initargs - (when (and (eq *boot-state* 'complete) + (when (and (eq **boot-state** 'complete) (not (getf initargs :allow-other-keys))) (let ((class-proto (class-prototype class))) (check-initargs-1 @@ -49,9 +49,7 @@ (apply #'initialize-instance instance initargs) instance))) -(defmethod default-initargs ((class slot-class) - supplied-initargs - class-default-initargs) +(defun default-initargs (supplied-initargs class-default-initargs) (loop for (key nil fun) in class-default-initargs when (eq (getf supplied-initargs key '.not-there.) '.not-there.) append (list key (funcall fun)) into default-initargs