Nikodemus Siivola <nikodemus@...> writes:
> 2009/12/16 Tobias Rittweiler <trittweiler@...>:
>> * Errors signaled within an (EVAL-WHEN (:COMPILE-TOPLEVEL) ...),
>> i.e. during ``compile-time-too' processing, are now caught and
>> reported just like errors at macroexpansion time.
>> Previously, we landed in the debugger from within the compiler and
>> thus provided pretty much no information about the actual source
>> context to the user.
>> Now, we won't land in the debugger, and the appropriate source
>> context is reported along the error.
> I'm not sure this is an improvement.
It's at least consistent now.
> Personally, I suspect we should make it easier to get into debugger
> for macroexpansion as well (setting *BREAK-ON-SIGNALS* for a given
> place in a large compilation is annoying -- and running with it all
> the time is a no-go.)
Getting into the debugger doesn't really tell you which toplevel it
actually is where the error came from.
Knowing the toplevel form, you can temporarily set *B-O-S* and just
compile that toplevel form to get at the actual error. Or in case of a
macro, manually macroexpand the form (without bothering *B-O-S*.)
We could make it go into the debugger, and additonally display
source context before entering, of course.