Subject: Re: bug#9463: 24.0.50; Errors should not be continuable

From: Helmut Eller <[email-masked]>
Date: Fri, 09 Sep 2011 09:36:59 +0200

* Eli Zaretskii [2011-09-09 07:10] writes:

>> From: Stefan Monnier <[email-masked]>
>> Date: Thu, 08 Sep 2011 22:23:09 -0400
>> Cc: [email-masked]
>> 
>> > I think the "do what would have happened if the debugger had not been
>> > called" thing should be a different command, like resignal or abort.
>> 
>> Why?  When the debugger is called in a non-error case, the "c" does just
>> that "do whatever would have happened if the debug call had no taken place".
>> 
>> > c should only continue from truly continuable situations, like
>> > breakpoints.
>> 
>> Again: why?
>
> I agree with Stefan.  The current operation of `c' is consistent with
> what other debuggers do in this situation.  For example, when GDB
> catches a fatal signal, typing `c' will simply let the program
> continue with the signal, which may mean it will crash.

What's the point of being compatible with GDB but not with previous
versions of the Elisp debugger or for that matter with other Lisp
debuggers?  For instance in Common Lisp (continue) invokes the current
continue restart, but of course only if there is such a restart.  If
there is no continue restart (continue) doesn't unwind the stack and
simply returns nil.  (You'd have to know what a restart is to understand
that paragraph, but the "what other languages/debuggers do" is a weak
argument anyway.)

Helmut