0.6.8.9:
[sbcl.git] / src / compiler / late-macros.lisp
index 9d617f2..dfd305c 100644 (file)
@@ -33,7 +33,7 @@
     NAME-attributes attribute-name*
       Return a set of the named attributes."
 
-  (let ((const-name (symbolicate name "-ATTRIBUTE-TRANSLATIONS"))
+  (let ((translations-name (symbolicate "*" name "-ATTRIBUTE-TRANSLATIONS*"))
        (test-name (symbolicate name "-ATTRIBUTEP")))
     (collect ((alist))
       (do ((mask 1 (ash mask 1))
        (alist (cons (car names) mask)))
 
       `(progn
+
         (eval-when (:compile-toplevel :load-toplevel :execute)
-          (defconstant ,const-name ',(alist)))
+          (defparameter ,translations-name ',(alist)))
 
         (defmacro ,test-name (attributes &rest attribute-names)
           "Automagically generated boolean attribute test function. See
            Def-Boolean-Attribute."
-          `(logtest ,(compute-attribute-mask attribute-names ,const-name)
+          `(logtest ,(compute-attribute-mask attribute-names
+                                             ,translations-name)
                     (the attributes ,attributes)))
 
         (define-setf-expander ,test-name (place &rest attributes
                                             env
                                             (compute-attribute-mask
                                              attributes
-                                             ,const-name
+                                             ,translations-name
                                              )
                                             ',test-name))
 
         (defmacro ,(symbolicate name "-ATTRIBUTES") (&rest attribute-names)
           "Automagically generated boolean attribute creation function. See
            Def-Boolean-Attribute."
-          (compute-attribute-mask attribute-names ,const-name))))))
+          (compute-attribute-mask attribute-names ,translations-name))))))
 
 ;;; a helper function for the cross-compilation target Lisp code which
 ;;; DEF-BOOLEAN-ATTRIBUTE expands into