Open cosmos72 opened 9 years ago
After some reasoning (and curses at the insane name "noncharacter" for these Unicode codepoints), CCL developers agreed that the most appropriate action is to change CODE-CHAR behaviour. It is being modified in order for (CODE-CHAR #xFFFE) to return #\U+FFFE and (CODE-CHAR #xFFFF) to return #\U+FFFF instead of NIL
The MEM-STRING test, newly added to the experimental branch, fails on all known versions of Clozure Common Lisp (CCL) with: Failure Details:
MEM-STRING []: Unexpected Error: #<TYPE-ERROR #x302001BBFF6D> The value NIL is not of the expected type CHARACTER...
Reason: on CCL, (CODE-CHAR #xFFFE) and (CODE-CHAR #xFFFF) both return NIL, while hyperluminal-mem expects them to return the corresponding characters.
The author is discussing the point, which involves the meaning and expected behaviour of Unicode "noncharacters" (U+FFFE U+FFFF and 64 others), on CCL bug tracker http://trac.clozure.com/ccl/ticket/1278