GNU bug report logs - #9463
24.0.50; Errors should not be continuable

Previous Next

Package: emacs;

Reported by: Helmut Eller <eller.helmut <at> gmail.com>

Date: Thu, 8 Sep 2011 12:07:02 UTC

Severity: normal

Tags: notabug, wontfix

Found in version 24.0.50

Done: Glenn Morris <rgm <at> gnu.org>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: Helmut Eller <eller.helmut <at> gmail.com>
To: 9463 <at> debbugs.gnu.org
Subject: bug#9463: 24.0.50; Errors should not be continuable
Date: Fri, 09 Sep 2011 08:53:02 +0200
* Stefan Monnier [2011-09-09 02:23] writes:

>>>> emacs -Q -eval '(let ((debug-on-error t)) (error "foo"))'
>>>> enters the debugger.  Pressing c somehow manages to continue.  That make
>>>> no sense to me.  The debugger should instead not continue and say
>>>> that errors are not continuable.
>>> 
>>> "c" in errors now "continues" in the sense of "do what would have
>>> happened if the debugger had not been called".  I.e. it will actually
>>> signal the error which can then be caught by condition-cases further up
>>> the stack, .... I.e. it's very similar to what happens with "q", but is
>>> often cleaner.
>> 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?

1. Why not? 

> 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".

2. it's an incompatible change

3. it's frustrating when people introduce DWIM-ish features when my
expectations are completely different

>
>> c should only continue from truly continuable situations, like
>> breakpoints.
>
> Again: why?

4. it's easy to accidentally press c when using d and c multiple times

5. I have already lost valuable information (and time) because of this
too eager stack unwinding.

6. there is nothing wrong with the traditional distinction between
continuable and non-continuable situations


>
>
>         Stefan
>
> PS: The change you seem to dislike is a bug-fix in my opinion, and it has
> fixed a few real problems

It introduced a new bug: r can now be used in every situation.

> (e.g. when you enter the debugger from within
> a minibuffer, you can now continue your minibuffer operation, whereas
> earlier you could only abort back to the top-level).

You could do that just as well with a separate resignal command.

Helmut





This bug report was last modified 13 years and 151 days ago.

Previous Next


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