X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fpcl%2Fmethods.lisp;h=adb89d850ec59d6b34d1c32f3f465f84ff5c4a3d;hb=42938a8cffe21be4b5a50d2253bbe76bab25e16a;hp=04f8dd5542bf0d0db27395c5d7bc27223204b9df;hpb=b16ab6d8df8b236728b4097a989eb626ad278eff;p=sbcl.git diff --git a/src/pcl/methods.lisp b/src/pcl/methods.lisp index 04f8dd5..adb89d8 100644 --- a/src/pcl/methods.lisp +++ b/src/pcl/methods.lisp @@ -1039,7 +1039,11 @@ ;; invalidate wrappers. (let ((wrappers (get-wrappers-from-classes nkeys wrappers classes metatypes))) - (setq cache (fill-cache cache wrappers value))))))))) + (when (if (atom wrappers) + (not (invalid-wrapper-p wrappers)) + (every (complement #'invalid-wrapper-p) + wrappers)) + (setq cache (fill-cache cache wrappers value)))))))))) (if classes-list (mapc #'add-class-list classes-list) (dolist (method (generic-function-methods generic-function))