Forked from
cmucl / cmucl
10064 commits behind the upstream repository.
ram
authored
Changed all macros to use %READER-ERROR as appropriate. Changed #+/- to work correctly under *READ-SUPPRESS*. These macros actually do the same thing as usual under read-suppress. However, we have to make sure that *read-suppress* is nil when reading the feature expression. Also, consider feature expressions with package errors to be absent. Fixed various macros to return NIL rather than the value of *read-suppress* when *read-suppress* is true. Fixed #: to use the new READ-EXTENDED-TOKEN return value to detect colons, rather than just searching (since they might be escaped.) When *read-suppress* is true and *read-eval* is false, don't signal an error on #. When we do error for #., use the correct READER-ERROR. Changed #r to just bind *read-base* and call read, instead of doing all sorts of weird stuff to reinvent numeric reading. Check for illegal radices. Deleted some dead code once used for #=/##. Made # a non-terminating read macro character (the only one in standard CL.) So you can have symbols like foo#3, or whatever.