untangle WITH-IR1-NAMESPACE and WITH-COMPILATION-VALUES
authorNikodemus Siivola <nikodemus@random-state.net>
Fri, 5 Oct 2012 05:26:47 +0000 (08:26 +0300)
committerNikodemus Siivola <nikodemus@random-state.net>
Sat, 6 Oct 2012 08:37:15 +0000 (11:37 +0300)
commitc017b878e30a0bc9a175d3f5a1a4d3537804160c
tree2c0f274f5536e82bc080e0af7dbde15078c01eed
parent48a34b34d5e82b78f51c32bf8be1dba76d3c4490
untangle WITH-IR1-NAMESPACE and WITH-COMPILATION-VALUES

 * Move the first out from the latter, and put parts of the first that
   belong in the latter there. They're sufficiently unrelated that
   it's just confusing. Also clarify why some stuff is in W-C-V and
   not W-IR1-N.

 * Places that need W-IR1-N: %COMPILE, COMPILE-LOAD-TIME-STUFF,
   CONVERT-AND-MAYBE-COMPILE. These are our topmost entry points into
   the convert & compile dance.

   ...and PROCESS-TOPLEVEL-LOCALLY, which needs to process
   declarations. We really should separate environment handling and
   compiler.

 * This also removes the unsightly (REMHASH NAME *FREE-FUNS*) hack
   from couple of places.

 * Move *SOURCE-PATHS* binding to WITH-SOURCE-PATHS (new), also
   sufficiently unrelated to be confusing.

 (This fixes the compiler.test.sh regression I managed to introduce.)
src/code/target-load.lisp
src/compiler/ir1tran-lambda.lisp
src/compiler/macros.lisp
src/compiler/main.lisp
src/compiler/target-main.lisp