0.9.13.47: Thread safety miscellania
[sbcl.git] / src / pcl / slots-boot.lisp
index 317ccca..aee9ea0 100644 (file)
@@ -29,7 +29,7 @@
         (ecase type
           ;; FIXME: change SLOT-OBJECT here to T to get SLOT-MISSING
           ;; behaviour for non-slot-objects too?
-          (reader 
+          (reader
            (values '(object) '(slot-object) 'standard-reader-method
                    (make-std-reader-method-function 'slot-object slot-name)
                    "automatically-generated reader method"))
@@ -48,7 +48,7 @@
 
 (defmacro accessor-slot-value (object slot-name)
   (aver (constantp slot-name))
-  (let* ((slot-name (eval slot-name))
+  (let* ((slot-name (constant-form-value slot-name))
          (reader-name (slot-reader-name slot-name)))
     `(let ((.ignore. (load-time-value
                       (ensure-accessor 'reader ',reader-name ',slot-name))))
@@ -60,7 +60,7 @@
   (aver (constantp slot-name))
   (setq object (macroexpand object env))
   (setq slot-name (macroexpand slot-name env))
-  (let* ((slot-name (eval slot-name))
+  (let* ((slot-name (constant-form-value slot-name))
          (bindings (unless (or (constantp new-value) (atom new-value))
                      (let ((object-var (gensym)))
                        (prog1 `((,object-var ,object))
@@ -80,7 +80,7 @@
 
 (defmacro accessor-slot-boundp (object slot-name)
   (aver (constantp slot-name))
-  (let* ((slot-name (eval slot-name))
+  (let* ((slot-name (constant-form-value slot-name))
          (boundp-name (slot-boundp-name slot-name)))
     `(let ((.ignore. (load-time-value
                       (ensure-accessor 'boundp ',boundp-name ',slot-name))))