X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fpcl%2Fmethods.lisp;h=db593a5dd54f4a5c0d152266d743b7011ded3273;hb=e972550db41da8a21a89d0215670de70802bd3ee;hp=0b12c514e180c43f0d787f4edec106b5c6f4304c;hpb=3abdab003d4cdb02d7386dcd4bc8d9ac4dafb359;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