Skip to content
Snippets Groups Projects
Forked from cmucl / cmucl
Source project has a limited visibility.
user avatar
ram authored
extra close parens are only a warning, not an error.

Export READER-ERROR, and change all reader code to signal this error as
appropriate (or in some cases END-OF-FILE.)

If a package is undefined, or an external symbol is missing, then signal
READER-PACKAGE-ERROR (a subtype of READER-ERROR.)  This allows #+ to suppress
this error on features without suppressing all read errors.  Changed these
errors to only be signalled after the whole token has been gobbled, so that
unwinding out of the handler won't leave the rest of the symbol unread.

Improved readtable documentation.

Fixed a number of problems with #=/##.  ## now works correctly with #S
structures, and also detects some new error conditions (such as multiply
defined labels.)  Also, we now bind the specials that control ## interaction so
that if someone happens to read some other stream inside a read macro, things
will still work.

Added Ted's changes to make INTERNAL-READ-EXTENDED-TOKEN work when there are
`|' escapes.  The main significance of this is that #+nil '|foo;bar| and
#:|foobar| now work properly.  Also change this function to recognize unquoted
colons so that #:foo:bar will error, but not #:foo\:bar.  Changed to not
gratuitously upcase the input, and for READ-EXTENDED-TOKEN to call
CASIFY-READ-BUFFER so that when READTABLE-CASE is :PRESERVE, you can #:Foo,
etc.
7bc38abc
History
Name Last commit Last update