Commit [ac93aa] Maximize Restore History

better reader-errors for COMPILE-FILE

* Make SIMPLE-READER-PACKAGE-ERROR a subclass of PACKAGE-ERROR.

* Make reader signal a SIMPLE-READER-PACKAGE-ERROR for missing packages,
instead of a vanilla PACKAGE-ERROR: that way get the position reported as
well.

* Factor out line and column reporting logic for reader-errors into a
separate function, and allow using other than current file position.

* READ-FOR-COMPILE-FILE needs to use COMPILER-ERROR, and
INPUT-ERROR-IN-COMPILE-FILE is a subclass of READER-ERROR, not a
FATAL-COMPILER-CONDITION.

* *COMPILER-ERROR-BAILOUT* binding in SUB-COMPILE-FILE was missing the
condition argument from the lambda-list, and should not mumble to
*STANDARD-OUTPUT*.

This patch converts all input errors into COMPILE-FILE failures without
dropping into the debugger. That might be taking things too far, though --
but the question of "which errors should we let enter the debugger" has no
obvious answers to me at least. Perhaps *COMPILER-HANDLED-ERRORS* is the way
to go?

Fixes lp#493380

Nikodemus Siivola Nikodemus Siivola 2012-04-24

changed src/code/condition.lisp
changed src/code/reader.lisp
changed src/compiler/compiler-error.lisp
changed src/compiler/main.lisp
changed tests/compiler-test-util.lisp
changed tests/compiler.impure.lisp
changed tests/reader.impure.lisp
changed NEWS
src/code/condition.lisp Diff Switch to side-by-side view
Loading...
src/code/reader.lisp Diff Switch to side-by-side view
Loading...
src/compiler/compiler-error.lisp Diff Switch to side-by-side view
Loading...
src/compiler/main.lisp Diff Switch to side-by-side view
Loading...
tests/compiler-test-util.lisp Diff Switch to side-by-side view
Loading...
tests/compiler.impure.lisp Diff Switch to side-by-side view
Loading...
tests/reader.impure.lisp Diff Switch to side-by-side view
Loading...
NEWS Diff Switch to side-by-side view
Loading...