1.0.46.16: death to "in: LAMBDA NIL" in compiler messages
authorNikodemus Siivola <nikodemus@random-state.net>
Mon, 28 Feb 2011 11:45:36 +0000 (11:45 +0000)
committerNikodemus Siivola <nikodemus@random-state.net>
Mon, 28 Feb 2011 11:45:36 +0000 (11:45 +0000)
commit9eba16267805e33a2b6d820da238ccb2e0869197
tree76010e1c1b546b0f1b31fadf7aedad57f470bd12
parent4a1cfe27db52072dfaeddda235e7d830f2c85661
1.0.46.16: death to "in: LAMBDA NIL" in compiler messages

 The LAMBDA NIL was 99% of the time the lambda introduced by
 %SIMPLE-EVAL-IN-LEXENV -- in other words totally uninteresting.

 Have EVAL save original form, and use that to name the lambda
 introduced in %SIMPLE-EVAL-IN-LEXENV:

   `(NAMED-LAMBDA (EVAL ,SOURCE-CONTEXT) ...)

 Finally, DEFINE-SOURCE-CONTEXT for NAMED-LAMBDA that understands the
 source context stashed into the name by %SIMPLE-EVAL-IN-LEXENV.

 Additionally, in case there is a legitimate (LAMBDA () ...) form the
 compiler wants to complain about, make sure it is printed as LAMBDA (),
 not LAMBDA NIL.
NEWS
src/code/eval.lisp
src/compiler/ir1report.lisp
tests/eval.impure.lisp
version.lisp-expr