From: Sam S. <sd...@gn...> - 2003-06-08 15:38:19
|
> * In message <m3h...@lo...> > * On the subject of "Re: Issue with byte compiled files in ANSI readtable invert mode" > * Sent on 08 Jun 2003 11:08:13 -0400 > * I write: > > We can bind *READTABLE* to (COPY-READTABLE) in LOAD and COMPILE-FILE. > This would prevent the user from shooting himself in the foot. > We are already doing a similar trick with *PRINT-SYMBOLS-LONG*. but what should the side effects of compiling/loading the following file be: ============================================= (eval-when (load compile eval) (setf (readtable-case *readtable*) :lower)) ============================================= do we need to use a separate SYS::*FAS-READTABLE*? and then all i/o operations will have to check whether they are working with the FAS file and use either *READTABLE* or SYS::*FAS-READTABLE*... what a can-o'-worms! I guess leaving this as a "known pitfall"... for the record, the undesirable behavior is this: (compile-file "stem.lisp") Compiling file stem.lisp ... Wrote file stem.fas 0 errors, 0 warnings #P"stem.fas" ; NIL ; NIL (setf (readtable-case *readtable* ) :invert) :invert (load "stem.fas") *** - read from #<input buffered file-stream character #P"stem.fas" @1>: there is no package with name "system" -- Sam Steingold (http://www.podval.org/~sds) running RedHat9 GNU/Linux <http://www.camera.org> <http://www.iris.org.il> <http://www.memri.org/> <http://www.mideasttruth.com/> <http://www.palestine-central.com/links.html> I'd give my right arm to be ambidextrous. |