X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fpcl%2Fvector.lisp;h=292e76333763fa1c20192c7d72af304f9359e545;hb=1e08b23e730c7a1c9cda1b918e9fdca38b8c4e17;hp=12a4640f7f3e62d787e223659cae8d8362ff51c2;hpb=c713eb2b521b048ff2c927ec52b861787d289f85;p=sbcl.git diff --git a/src/pcl/vector.lisp b/src/pcl/vector.lisp index 12a4640..292e763 100644 --- a/src/pcl/vector.lisp +++ b/src/pcl/vector.lisp @@ -388,8 +388,7 @@ slots calls) (declare (ignore required-parameters env slots calls)) - (or (and (eq (car form) 'make-instance) - (expand-make-instance-form form)) + (or ; (optimize-reader ...)? form)) (defun can-optimize-access (form required-parameters env) @@ -638,7 +637,7 @@ (standard-class-p class) (not (eq class *the-class-t*)) ; shouldn't happen, though. (let ((slotd (find-slot-definition class slot-name))) - (and slotd (classp (slot-definition-allocation slotd))))))) + (and slotd (eq :class (slot-definition-allocation slotd))))))) (defun skip-fast-slot-access-p (class-form slot-name-form type) (let ((class (and (constantp class-form) (eval class-form))) @@ -1008,8 +1007,8 @@ ;;; Pull a name out of the %METHOD-NAME declaration in the function ;;; body given, or return NIL if no %METHOD-NAME declaration is found. (defun body-method-name (body) - (multiple-value-bind (documentation declarations real-body) - (extract-declarations body nil) + (multiple-value-bind (real-body declarations documentation) + (parse-body body nil) (declare (ignore documentation real-body)) (let ((name-decl (get-declaration '%method-name declarations))) (and name-decl @@ -1156,7 +1155,7 @@ (w-t pv-wrappers)) (dolist (arg args) (setq w (wrapper-of arg)) - (unless (eq t (wrapper-state w)) ; FIXME: should be INVALID-WRAPPER-P + (when (invalid-wrapper-p w) (setq w (check-wrapper-validity arg))) (setf (car w-t) w)) (setq w-t (cdr w-t))