X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fpcl%2Fenv.lisp;h=3182342bd68e91b78dab746ba0c82aac2b7e47ce;hb=b7d22ded1428e8d3e87c37164aa6742dd28aa6ce;hp=f1cf98f59fa45a2614806a82e117c4013ae46803;hpb=990728854b8ba017888811d1b0453b15dfa8a581;p=sbcl.git diff --git a/src/pcl/env.lisp b/src/pcl/env.lisp index f1cf98f..3182342 100644 --- a/src/pcl/env.lisp +++ b/src/pcl/env.lisp @@ -43,20 +43,21 @@ (unparse-specializers (method-specializers method))) (make-symbol (format nil "~S" method)))) - (multiple-value-bind (gf-spec quals specls) - (parse-defmethod spec) - (and (setq gf (and (or errorp (fboundp gf-spec)) - (gdefinition gf-spec))) - (let ((nreq (compute-discriminating-function-arglist-info gf))) - (setq specls (append (parse-specializers specls) - (make-list (- nreq (length specls)) - :initial-element - *the-class-t*))) - (and - (setq method (get-method gf quals specls errorp)) - (setq name - (make-method-spec - gf-spec quals (unparse-specializers specls)))))))) + (let ((gf-spec (car spec))) + (multiple-value-bind (quals specls) + (parse-defmethod (cdr spec)) + (and (setq gf (and (or errorp (fboundp gf-spec)) + (gdefinition gf-spec))) + (let ((nreq (compute-discriminating-function-arglist-info gf))) + (setq specls (append (parse-specializers specls) + (make-list (- nreq (length specls)) + :initial-element + *the-class-t*))) + (and + (setq method (get-method gf quals specls errorp)) + (setq name + (make-method-spec + gf-spec quals (unparse-specializers specls))))))))) (values gf method name))) ;;; TRACE-METHOD and UNTRACE-METHOD accept method specs as arguments. A @@ -176,17 +177,17 @@ (defmethod make-load-form ((object structure-object) &optional env) (declare (ignore env)) - (error "~@" + (error "~@" object 'make-load-form)) (defmethod make-load-form ((object standard-object) &optional env) (declare (ignore env)) - (error "~@" + (error "~@" object 'make-load-form)) (defmethod make-load-form ((object condition) &optional env) (declare (ignore env)) - (error "~@" + (error "~@" object 'make-load-form)) (defun make-load-form-saving-slots (object &key (slot-names nil slot-names-p) environment)