Robert Dodier <robert.dodier@gmail.com> wrote:
+---------------
| compiling problems: ABCL compile-file doesn't seem to like setq with
| multiple arguments. I worked around that by changing (setq a b c d)
| to (setq a b) (setq c d).
+---------------
You should file an ANSI-non-compliance bug with the maintainers.
+---------------
| Also ABCL didn't recognize #\vt (vertical tab).
| I don't know if #\vt is a non-CL thing.
+---------------
It's an extension to ANSI, but most CLs do recognize it (CLISP,
CMUCL, etc.). CLHS 13.1.7 "Character Names" says that the only
*required* named characters are #\Newline" and #\Space, with
#\Rubout, #\Page, #\Tab, #\Backspace, #\Return, & #\Linefeed
being:
...semi-standard; if an implementation supports them,
they should be used for the described characters and
no others.
And CLHS 22.1.3.2 "Printing Characters":
If a non-graphic character has a standardized name[5], that name
is preferred over non-standard names for printing in #\ notation.
For the graphic standard characters, the character itself is
always used for printing in #\ notation---even if the character
also has a name[5].
Finally, CLHS "Glossary: N: name[5]" says:
... (All non-graphic characters are required to have names unless they
have some implementation-defined attribute which is not null. Whether
or not other characters have names is implementation-dependent.)
But except for the standardized and semi-standard names above, those
names might be different in different implementations. For example,
in (an old version of) CLISP:
> (loop for i to 32 collect (code-char i))
(#\Null #\Soh #\Stx #\Etx #\Eot #\Enq #\Ack #\Bell #\Backspace
#\Tab #\Newline #\Vt #\Page #\Return #\So #\Si #\Dle #\Dc1
#\Dc2 #\Dc3 #\Dc4 #\Nak #\Syn #\Etb #\Can #\Em #\Sub #\Escape
#\Fs #\Gs #\Rs #\Us #\Space)
>
Whereas in CMUCL:
> (loop for i to 32 collect (code-char i))
(#\Null #\^A #\^B #\^C #\^D #\^E #\^F #\Bell #\Backspace #\Tab
#\Newline #\Vt #\Page #\Return #\^N #\^O #\^P #\^Q #\^R #\^S #\^T
#\^U #\^V #\^W #\^X #\^Y #\^Z #\Escape #\Fs #\Gs #\Rs #\Us #\ )
>
[Hmmm... Since (graphic-char-p #\space) ==> T in both, by 22.1.3.2
it would seem that CMUCL is more correct in printing space as "#\ "
instead of "#\Space". Oh, well...]
-Rob
-----
Rob Warnock <rpw3@rpw3.org>
627 26th Avenue <URL:http://rpw3.org/>
San Mateo, CA 94403 (650)572-2607