Testing for ASDF 3.3.2 and beyond?

Anton Vodonosov avodonosov at yandex.ru
Fri Apr 27 04:19:01 UTC 2018

02.03.2018, 21:05, "Robert Goldman" <rpgoldman at sift.net>:

>> You might be interested to know that ACL binds *readtable* on startup 
>> to an unmodifieble readtable
>> (which is a violation of CLHS http://clhs.lisp.se/Body/02_aac.htm :
>> "The initial readtable is distinct from the standard readtable. It is 
>> permissible for a conforming program to modify the initial 
>> readtable.")
> I don't see this behavior in ACL 10.1 (64 bit) on the Mac:
> CL-USER> *readtable*
> #<readtable @ #x100022d3a2>
> CL-USER> (defun semicolon-reader (stream char)
>     (declare (ignore char))
>     ;; First swallow the rest of the current input line.
>     ;; End-of-file is acceptable for terminating the comment.
>     (do () ((char= (read-char stream nil #\Newline t) #\Newline)))
>     ;; Return zero values.
>     (values))
> CL-USER> (set-macro-character #\; #'semicolon-reader)
> T

Turns out this only happens when your code is evaluated via the -ee parameter with -batch parameter preset:

     ~/lisps/acl100/alisp -batch -ee "(set-dispatch-macro-character #\# #\u #'(lambda (&rest ignored)))"

    An unhandled error occurred during initialization:
    An error occurred
    (Attempt to set dispatch macro in system readtable #<readtable @ #x2012072a>; copy readtable first.)
    the reading or evaluation of -e "(set-dispatch-macro-character #\\# #\\u #'(lambda (&rest ignored)))"

More information about the asdf-devel mailing list