Some tweaks to WRITE
commit12bf7d86b171c8b650be105822be531650d3ecee
authorDouglas Katzman <dougk@google.com>
Tue, 3 Mar 2015 02:48:43 +0000 (2 21:48 -0500)
committerDouglas Katzman <dougk@google.com>
Tue, 3 Mar 2015 02:55:45 +0000 (2 21:55 -0500)
tree467a08c8980f544d30730c93cb40efe818286c5c
parent422745141a87965e71e54b6066938f0694e4d2a9
Some tweaks to WRITE

- level and length checks reference their special vars fewer times
- prefer %READTABLE-CASE over READTABLE-CASE
- *INTERNAL-SYMBOL-OUTPUT-FUN* is always a function
- SETUP-PRINTER-STATE can assume valid values for *PRINT-CASE* etc
- compiler-macro for WRITE is earlier so that "room" can see it.

And a change to the cross-compiler so that (LOAD-TIME-VALUE #'F)
can be fixed up before !COLD-INIT has even begun if F is defined
soon enough; if it isn't, genesis fails in an obvious way.
src/code/early-print.lisp
src/code/print.lisp
src/code/target-thread.lisp
src/compiler/generic/genesis.lisp
src/compiler/main.lisp