unofficial mirror of help-gnu-emacs@gnu.org
 help / color / mirror / Atom feed
From: Arthur Miller <arthur.miller@live.com>
To: Michael Heerdegen <michael_heerdegen@web.de>
Cc: help-gnu-emacs@gnu.org
Subject: Re: Error does not throw to debugger in 'when' block
Date: Thu, 12 Jan 2023 23:49:45 +0100	[thread overview]
Message-ID: <AM9PR09MB49775363F6BCF3A06A2C74DA96FD9@AM9PR09MB4977.eurprd09.prod.outlook.com> (raw)
In-Reply-To: <87wn5re9oe.fsf@web.de> (Michael Heerdegen's message of "Thu, 12 Jan 2023 22:15:45 +0100")

Michael Heerdegen <michael_heerdegen@web.de> writes:

> Arthur Miller <arthur.miller@live.com> writes:
>
>> Michael Heerdegen <michael_heerdegen@web.de> writes:
>>
>> Let's just do the part that matters:
>>
>> > For C-x C-e you need to eval a form that raises an error.  Also that
>> > works as expected: evaluating the defun doesn't raise an error as
>> > expected.
>>
>> Yes of course. As Eli said details matters.
>>
>> I have now looked more into it, tested another example, and I do
>> understand now
>> what happeneds; I just didn't know it worked that way:
>>
>> When called interactively with M-x, (as the command) the evaluation of the
>> function exits on error, the error message is emittied, but the
>> evaluation is
>> not trapped in the debugger. When called from lisp, for example via: M-: it
>> ends up in the debugger. I was calling it interactively, and didn't realize
>> realized it worked this way. I wasn't aware that "commands" does not
>> trap in the
>> debugger on errors. Maybe I need to set some other of debug-on-* flags?
>
> Only debug-on-error.  That's what I tested.  I enabled that option and
> called your command in the original form and got a debugger.
>
> [ Note there is a pitfall: M-: debug-on-error RET prints t although the
> variable's value "is actually" nil - that's because M-: binds the variable
> to t temporarily when evaluating the specified expression. ]
>
Aha :) Now you say something. Yes that seems to be the case. I have checked
Customize now, and that indeed was off. I was always thought I had
debug-on-error to be always on. I obviously didn't. When I checked it's value I
did from within M-:, so that explains it. I should have checked with C-h v
instead or looked in Customize (which I barely ever use). When I have explicitly
set it debug-on-error to 't now it works same even with interactive commands, it
ends in debugger.

What a small thing can take such a long time. If I just checked with C-h v
instead.

I didn't know M-: let-bind the error-on-debug, so thanks for the kind
explanation on that one!

Best regards
/arthur



      reply	other threads:[~2023-01-12 22:49 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-01-12  6:51 Error does not throw to debugger in 'when' block Arthur Miller
2023-01-12  8:28 ` Eli Zaretskii
2023-01-12  9:08   ` Arthur Miller
2023-01-12 11:26     ` Michael Heerdegen
2023-01-12 19:18       ` Arthur Miller
2023-01-12 21:15         ` Michael Heerdegen
2023-01-12 22:49           ` Arthur Miller [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.gnu.org/software/emacs/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=AM9PR09MB49775363F6BCF3A06A2C74DA96FD9@AM9PR09MB4977.eurprd09.prod.outlook.com \
    --to=arthur.miller@live.com \
    --cc=help-gnu-emacs@gnu.org \
    --cc=michael_heerdegen@web.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).