> This variable is intended primarily to support the operation of the read-time conditional notations #+ and #-. It is important for
> the reader macros which implement these notations to be able to skip over the printed representation of an expression despite
> the possibility that the syntax of the skipped expression may not be entirely valid for the current implementation, since #+ and #-
> exist in order to allow the same program to be shared among several Lisp implementations (including dialects other than
> Common Lisp) despite small incompatibilities of syntax.
How to interpret "small incompatibilities of syntax" is an arguable issue, I do agree.
However, my general impression is that the current behavior is somewhat undesirable.
Well, http:// www.lispworks. com/documentati on/HyperSpec/ Body/v_ rd_sup. htm says:
> This variable is intended primarily to support the operation of the read-time conditional notations #+ and #-. It is important for
> the reader macros which implement these notations to be able to skip over the printed representation of an expression despite
> the possibility that the syntax of the skipped expression may not be entirely valid for the current implementation, since #+ and #-
> exist in order to allow the same program to be shared among several Lisp implementations (including dialects other than
> Common Lisp) despite small incompatibilities of syntax.
How to interpret "small incompatibilities of syntax" is an arguable issue, I do agree.
However, my general impression is that the current behavior is somewhat undesirable.