X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fpcl%2Finit.lisp;h=47b89887ccd6ac5a52a082a74bc4cba9136464ed;hb=4cf9c8955fc99aa5718eb4b265360578d0de29e0;hp=cce5b7f6f7f504076cc4038f4db969931eecb95c;hpb=ad8ea88fc4ba8b05fbb1beb4d6bf5c883027714c;p=sbcl.git diff --git a/src/pcl/init.lisp b/src/pcl/init.lisp index cce5b7f..47b8988 100644 --- a/src/pcl/init.lisp +++ b/src/pcl/init.lisp @@ -48,34 +48,11 @@ (apply #'initialize-instance instance initargs) instance)) -(defvar *default-initargs-flag* (list nil)) - (defmethod default-initargs ((class slot-class) supplied-initargs) (call-initialize-function (initialize-info-default-initargs-function (initialize-info class supplied-initargs)) - nil supplied-initargs) - #|| - ;; This implementation of default initargs is critically dependent - ;; on all-default-initargs not having any duplicate initargs in it. - (let ((all-default (class-default-initargs class)) - (miss *default-initargs-flag*)) - (flet ((getf* (plist key) - (do () - ((null plist) miss) - (if (eq (car plist) key) - (return (cadr plist)) - (setq plist (cddr plist)))))) - (labels ((default-1 (tail) - (if (null tail) - nil - (if (eq (getf* supplied-initargs (caar tail)) miss) - (list* (caar tail) - (funcall (cadar tail)) - (default-1 (cdr tail))) - (default-1 (cdr tail)))))) - (append supplied-initargs (default-1 all-default))))) - ||#) + nil supplied-initargs)) (defmethod initialize-instance ((instance slot-object) &rest initargs) (apply #'shared-initialize instance t initargs))