Comment 4 for bug 1985814

Revision history for this message
Douglas Katzman (dougk) wrote :

I checked a few other implementations just to get opinions.

Clozure, ECL, CMU, and ABCL never output the character name under any combination of options.
i.e. for all of them you get
* (write #\space :readably t :escape t :pretty t)
#\
* (write #\space :readably t :escape t :pretty nil)
#\
and for all other permutations of T/NIL to the keywords.

CLISP: non-spec-compliant. Always outputs the name regardless of printer options.
[1]> (write #\space :readably nil :escape nil :pretty nil)
#\Space

Seems odd that we would have uniquely stumbled upon a correct solution regarding *print-readably* and/or adjustment of the default dispatch table.
Not sure if serious, but what if we could exploit some Unicode spaces to convey behavior through the printer-printer. The spec should have seen that deletion of significant whitespace is wrong