[armedbear-cvs] r12584 - trunk/abcl/src/org/armedbear/lisp

Erik Huelsmann ehuelsmann at common-lisp.net
Thu Apr 8 21:49:58 UTC 2010


Author: ehuelsmann
Date: Thu Apr  8 17:49:56 2010
New Revision: 12584

Log:
Re #92: Don't return characters for the range #xD800 to #xDFFF.
  This doesn't fix the character(s) over #xFFFF though.

Modified:
   trunk/abcl/src/org/armedbear/lisp/LispCharacter.java

Modified: trunk/abcl/src/org/armedbear/lisp/LispCharacter.java
==============================================================================
--- trunk/abcl/src/org/armedbear/lisp/LispCharacter.java	(original)
+++ trunk/abcl/src/org/armedbear/lisp/LispCharacter.java	Thu Apr  8 17:49:56 2010
@@ -347,12 +347,9 @@
       @Override
       public LispObject execute(LispObject arg)
       {
-          int n = Fixnum.getValue(arg);
-          if (n < CHAR_MAX)
-            return lispChars.get((char)n);
-          else if (n <= Character.MAX_VALUE)
-            return new LispCharacter((char)n);
-              // SBCL signals a type-error here: "not of type (UNSIGNED-BYTE 8)"
+        int n = Fixnum.getValue(arg);
+        if (Character.isValidCodePoint(n)
+          return LispCharacter.getInstance((char)n);
         return NIL;
       }
     };




More information about the armedbear-cvs mailing list