0.7.7.11:
[sbcl.git] / src / pcl / vector.lisp
index a33b891..fdd43e6 100644 (file)
               (position (posq parameter-entry slots))
               (pv-offset-form (list 'pv-offset ''.PV-OFFSET.)))
          (unless parameter-entry
-           (error "internal error in slot optimization"))
+           (bug "slot optimization bewilderment: O-I-A"))
          (unless slot-entry
            (setq slot-entry (list slot-name))
            (push slot-entry (cdr parameter-entry)))
         (position (posq parameter-entry slots))
         (pv-offset-form (list 'pv-offset ''.PV-OFFSET.)))
     (unless parameter-entry
-      (error "internal error in slot optimization"))
+      (error "slot optimization bewilderment: O-A-C"))
     (unless slot-entry
       (setq slot-entry (list name))
       (push slot-entry (cdr parameter-entry)))
 ;;; 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
         (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))