Closed kpoeck closed 5 years ago
I agree that ignoring an expression such as #garbage
when *read-suppress*
is true could be useful, but I see two problems:
#g
could initiate an arbitrary syntax so it is not clear how to skip over it.
The entry for Variable *read-suppress*
says
Dispatching macro characters (including sharpsign)
Dispatching macro characters continue to parse an infix numerical argument, and invoke the dispatch function. The standardized sharpsign reader macros do not enforce any constraints on either the presence of or the value of the numerical argument.
I take this to mean that the dispatch function is invoked and either calls a user-supplied function if the user has installed one in the readtable or calls a standard macro function or signals an error according to the table in 2.4.8 Sharpsign.
Did you find passages implying the behavior you propose?
From testing a few implementations in seems ABCL, CMUCL, SBCL skip over the token, and Allegro, CCL, Clasp, Clisp, ECL reject it.
I believe the following should not fail: