Skip to content
Snippets Groups Projects
Commit 4b4c97c7 authored by Raymond Toy's avatar Raymond Toy
Browse files

Check for symbol length in character.1.body

Cmucl converts a string to Unicode NFC form before creating a symbol.
This means some symbols have names that longer than 1 character.  The
test assumes the name has one character which causes an error in
cmucl.

This just adds a check that the length is 1 before extracting the
character from the symbol name.  This doesn't change behavior of the
test (which was already assuming a length of 1), but allows cmucl not
to signal an error but to finish the test with a meaningful list of
characters whose corresponding symbol name is more than one character
long.

A couple of minor tweaks:
- Ignore sse2f fasl created by cmucl/x86.
- Add comment to makefile on how to run with cmucl.
parent 6ef45169
No related branches found
No related tags found
No related merge requests found
......@@ -75,11 +75,13 @@
(defun character.1.body ()
(loop for i from 0 below (min 65536 char-code-limit) for c = (code-char i)
unless (or (null c)
(let ((s (string c)))
(let* ((s (string c))
(sym (make-symbol s)))
(and
(eqlt (character c) c)
(eqlt (character s) c)
(eqlt (character (make-symbol s)) c))))
(= 1 (length (symbol-name sym)))
(eqlt (character sym) c))))
collect (char-name c)))
(defun character.2.body ()
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment