bug-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#7825: Cannot return from the debugger


From: Štěpán Němec
Subject: bug#7825: Cannot return from the debugger
Date: Wed, 12 Jan 2011 10:04:29 +0100
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/24.0.50 (gnu/linux)

Richard Stallman <rms@gnu.org> writes:

>     The limitation that we "Cannot return from the debugger in an error",
>     is a bug: we should be able to continue (i.e. run the code of the
>     corresponding error handler), just as if the debugger had not been 
> invoked.
>
> That is fine in theory, but it would imply that any place that can get
> an error can also GC.
>
> If we make GCPRO a no-op on all platforms, allowing those places to GC
> may not require massive changes.  But lots of places in the C code
> would still have to be checked for possible bugs.
>
> I don't remember how string relocation works nowadays.  It used to be
> the case that many places in the C code had char * pointers into Lisp
> strings, which could be invalidated by a GC.  If this is still an
> issue, then keeping such a pointer across something that reports an
> error would be a bug.

I'm not sure I understand what you two are saying or how that relates to
the problem at hand, but what a decent Lisp system usually does when an
error happens inside the debugger is just add another debugging layer on
the stack, i.e. start the debugger on the "newer" error; then when you
exit the inner level, you end up back debugging the outer level. Why is
that not the case in Emacs? The "Cannot return from the debugger in an
error" thing has always annoyed me, too.

  Štěpán





reply via email to

[Prev in Thread] Current Thread [Next in Thread]