X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fpcl%2Fmethods.lisp;h=db593a5dd54f4a5c0d152266d743b7011ded3273;hb=f8893c7c658bf9d9e0757c63e47af2fdea810f04;hp=0b12c514e180c43f0d787f4edec106b5c6f4304c;hpb=a57db6f5ee029a4c9817ae239d7bbefd3fb8374e;p=sbcl.git diff --git a/src/pcl/methods.lisp b/src/pcl/methods.lisp index 0b12c51..db593a5 100644 --- a/src/pcl/methods.lisp +++ b/src/pcl/methods.lisp @@ -665,9 +665,10 @@ (let ((types (mapcar #'class-eq-type classes))) (multiple-value-bind (methods all-applicable-and-sorted-p) (compute-applicable-methods-using-types gf types) - (function-funcall (get-secondary-dispatch-function1 - gf methods types nil t all-applicable-and-sorted-p) - nil (mapcar #'class-wrapper classes))))) + (let ((generator (get-secondary-dispatch-function1 + gf methods types nil t all-applicable-and-sorted-p))) + (make-callable gf methods generator + nil (mapcar #'class-wrapper classes)))))) (defun value-for-caching (gf classes) (let ((methods (compute-applicable-methods-using-types