From: <bdo...@la...> - 2007-07-04 08:15:26
|
On Tue, Jul 03, 2007 at 08:30:57AM -0500, William Harold Newman wrote: > Instead of trying to tidy up whatever mutant *READTABLE* you find slot > by slot, it might make sense to use > (setf *readtable* (copy-readtable nil)) > to just start over from scratch. This also sounded good, until I tried it and remembered that LOAD binds *READTABLE*, so that: (|CL|:|SETF| |CL|:|*READTABLE*| (|CL|:|COPY-READTABLE| |CL|:|NIL|)) (cl:load "tools-for-build/sane-...") would have to be done in make-host-1.lisp, make-host-2.lisp, and make-genesis-2.lisp, which is significantly uglier. (ObAnsiQuestion: Why the heck is the readtable case a property of *READTABLE*, but *READ-BASE* and the other *READ-** are their own specials?) Perhaps a better solution would be to change make-host-1.sh (and the others) to do: $SBCL_XC_HOST <<EOF || exit 1 (|CL|:|WITH-STANDARD-IO-SYNTAX| (|CL|:|LOAD| "make-host-1.lisp")) EOF Except you'd have to bind *PRINT-READABLY* to NIL somewhere in there too... Probably trying to solve this problem in general is more trouble than it's worth. -bcd |