add a comment about one-basing the character tables
authorChristophe Rhodes <csr21@cantab.net>
Thu, 18 Apr 2013 19:14:21 +0000 (20:14 +0100)
committerChristophe Rhodes <csr21@cantab.net>
Sat, 18 May 2013 19:04:04 +0000 (20:04 +0100)
tools-for-build/ucd.lisp

index ddc49b0..935460b 100644 (file)
         (loop for page across array
            do (loop for entry across page
                  do (write-4-byte
+                     ;; KLUDGE: while tests indicate that this works
+                     ;; by accident, actually this causes lookups on
+                     ;; characters undefined by Unicode (e.g. U+2FB00)
+                     ;; to zoom off into unrelated bits of
+                     ;; **CHARACTER-DATABASE** (see UCD-VALUE-[01] in
+                     ;; src/code/target-char.lisp).  It would be good
+                     ;; to make this work deliberately.
                      (dpb (if entry (aref *misc-mapping* (ucd-misc entry)) #x7ff)
                           (byte 11 21)
                           (if entry (ucd-transform entry) 0))