X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fpcl%2Fstd-class.lisp;h=5e0249a7f1a70e443c063d13ff362246d9a5d1d6;hb=a6103aace1e40d0948aeb090f7b5d5ca77fc293a;hp=7b64b5a573edfbbcab24f0ae99f21b75e723babb;hpb=c7de1989d006e0b3a4f26143b7a81c9bdb754101;p=sbcl.git diff --git a/src/pcl/std-class.lisp b/src/pcl/std-class.lisp index 7b64b5a..5e0249a 100644 --- a/src/pcl/std-class.lisp +++ b/src/pcl/std-class.lisp @@ -797,7 +797,10 @@ (defun fix-slot-accessors (class dslotds add/remove) (flet ((fix (gfspec name r/w) - (let ((gf (ensure-generic-function gfspec))) + (let* ((ll (case r/w (r '(object)) (w '(new-value object)))) + (gf (if (fboundp gfspec) + (ensure-generic-function gfspec) + (ensure-generic-function gfspec :lambda-list ll)))) (case r/w (r (if (eq add/remove 'add) (add-reader-method class gf name)