GNU bug report logs - #7825
Cannot return from the debugger

Previous Next

Package: emacs;

Reported by: Stefan Monnier <monnier <at> IRO.UMontreal.CA>

Date: Tue, 11 Jan 2011 21:25:02 UTC

Severity: normal

Found in version 24.0.50

Done: Stefan Monnier <monnier <at> iro.umontreal.ca>

Bug is archived. No further changes may be made.

Full log


Message #11 received at 7825 <at> debbugs.gnu.org (full text, mbox):

From: Štěpán Němec <stepnem <at> gmail.com>
To: rms <at> gnu.org
Cc: 7825 <at> debbugs.gnu.org, Stefan Monnier <monnier <at> IRO.UMontreal.CA>
Subject: Re: bug#7825: Cannot return from the debugger
Date: Wed, 12 Jan 2011 10:04:29 +0100
Richard Stallman <rms <at> 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




This bug report was last modified 14 years and 78 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.