0.6.8.9:
[sbcl.git] / src / code / print.lisp
index 0c19b98..1f61fcc 100644 (file)
 (declaim (type (simple-array (unsigned-byte 16) (#.char-code-limit))
               *character-attributes*))
 
-(eval-when (:compile-toplevel :load-toplevel :execute)
-
 ;;; Constants which are a bit-mask for each interesting character attribute.
 (defconstant other-attribute           (ash 1 0)) ; Anything else legal.
 (defconstant number-attribute          (ash 1 1)) ; A numeric digit.
 (defconstant slash-attribute           (ash 1 7)) ; /
 (defconstant funny-attribute           (ash 1 8)) ; Anything illegal.
 
-;;; LETTER-ATTRIBUTE is a local of SYMBOL-QUOTEP. It matches letters that
-;;; don't need to be escaped (according to READTABLE-CASE.)
-(defconstant attribute-names
+(eval-when (:compile-toplevel :load-toplevel :execute)
+
+;;; LETTER-ATTRIBUTE is a local of SYMBOL-QUOTEP. It matches letters
+;;; that don't need to be escaped (according to READTABLE-CASE.)
+(defparameter *attribute-names*
   `((number . number-attribute) (lowercase . lowercase-attribute)
     (uppercase . uppercase-attribute) (letter . letter-attribute)
     (sign . sign-attribute) (extension . extension-attribute)
                       (the fixnum
                            (logand
                             (logior ,@(mapcar
-                                       #'(lambda (x)
-                                           (or (cdr (assoc x attribute-names))
-                                               (error "Blast!")))
+                                       (lambda (x)
+                                         (or (cdr (assoc x
+                                                         *attribute-names*))
+                                             (error "Blast!")))
                                        attributes))
                             bits)))))
             (digitp ()