1.0.42.49: fix (SETF DOCUMENTATION) for macros
[sbcl.git] / src / pcl / slots.lisp
index 4ca5415..7350196 100644 (file)
         (slot-unbound (wrapper-class* wrapper) object slot-name)
         value)))
 
+;;; This is used during the PCL build, but gets replaced by a deftransform
+;;; in fixup.lisp.
 (define-compiler-macro slot-value (&whole form object slot-name
                                    &environment env)
   (if (and (constantp slot-name env)
 (defun safe-set-slot-value (object slot-name new-value)
   (set-slot-value object slot-name new-value))
 
+;;; This is used during the PCL build, but gets replaced by a deftransform
+;;; in fixup.lisp.
 (define-compiler-macro set-slot-value (&whole form object slot-name new-value
                                       &environment env)
   (if (and (constantp slot-name env)
   (let ((constructor (class-defstruct-constructor class)))
     (if constructor
         (funcall constructor)
-        (allocate-standard-instance (class-wrapper class)))))
+        (error "Don't know how to allocate ~S" class))))
 
 ;;; FIXME: It would be nicer to have allocate-instance return
 ;;; uninitialized objects for conditions as well.