Dear CL hackers,
compile-file and load already bind *readtable*, which means that for asdf itself to bind *readtable* should be a no-op in the common case, and a BIG save for those who want to switch the readtable at the REPL.
In its current state, the syntax-control branch does just that, but it also defines several mechanisms by which the user can do more than that:
1- by setting the *cl-reading-hook* to something else than call-with-shared-readtable you can do less (setting the hook to just call-function), or more (setting it to call-with-asdf-syntax or even call-with-standard-io-syntax).
2- by defining per-system variables with :variables ((a . ainitfun) (b . binitfun) ...) where ainitfun is evaluated by call-function which allows for easy constants such as nil or t, or late-reading of the function definition as in "(lambda () future-package:*variable*)"
3- by defining methods on call-with-action-context (o c thunk), which should be chained according to the pattern (defmethod call-with-action-context ((o my-op) (c my-comp) thunk) (call-next-method o c #'(lambda () (some-wrapping around (call-function thunk))))) so that we don't have to define a magic method combination which might not work on all implementations.
—♯ƒ • François-René ÐVB Rideau •Reflection&Cybernethics• http://fare.tunes.org You live and learn. Or you don't live long. — Robert Heinlein, "Time Enough For Love"