X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fpcl%2Fslots-boot.lisp;h=98d9848e320de4bdb0211ff6a7505142de75311d;hb=203c15eefffd996fd20bd28d461ea1aa3865dbbe;hp=998b02bc3dd8b4d90b5abdcb666a33702ea351f4;hpb=e88f9c7fd830938e1261cc424437905fb50179ae;p=sbcl.git diff --git a/src/pcl/slots-boot.lisp b/src/pcl/slots-boot.lisp index 998b02b..98d9848 100644 --- a/src/pcl/slots-boot.lisp +++ b/src/pcl/slots-boot.lisp @@ -84,20 +84,13 @@ `(let ,bindings ,form) form))) -;;; FIXME: Why is this defined in two different places? And what does -;;; it mean anyway? And can we just eliminate it completely (replacing -;;; it with NIL, then hand-eliminating any resulting dead code)? -(defconstant +optimize-slot-boundp+ nil) - (defmacro accessor-slot-boundp (object slot-name) (unless (constantp slot-name) (error "~S requires its slot-name argument to be a constant" 'accessor-slot-boundp)) (let* ((slot-name (eval slot-name)) (sym (slot-boundp-symbol slot-name))) - (if (not +optimize-slot-boundp+) - `(slot-boundp-normal ,object ',slot-name) - `(asv-funcall ,sym ,slot-name boundp ,object)))) + `(slot-boundp-normal ,object ',slot-name))) (defun structure-slot-boundp (object) (declare (ignore object)) @@ -411,12 +404,6 @@ (gf (ensure-generic-function name))) (unless (generic-function-methods gf) (add-writer-method *the-class-slot-object* gf slot-name)))) - (when (and +optimize-slot-boundp+ - (or (null type) (eq type 'boundp))) - (let* ((name (slot-boundp-symbol slot-name)) - (gf (ensure-generic-function name))) - (unless (generic-function-methods gf) - (add-boundp-method *the-class-slot-object* gf slot-name)))) nil) (defun initialize-internal-slot-gfs* (readers writers boundps)