GNU bug report logs -
#67196
M-: uses a wrong value of debug-on-error when it is nil.
Previous Next
Reported by: Alan Mackenzie <acm <at> muc.de>
Date: Wed, 15 Nov 2023 17:03:02 UTC
Severity: normal
Done: Alan Mackenzie <acm <at> muc.de>
Bug is archived. No further changes may be made.
Full log
View this message in rfc822 format
[Message part 1 (text/plain, inline)]
Your message dated Thu, 24 Oct 2024 21:33:41 +0000
with message-id <Zxq9NZDAap-fzctO <at> MAC.fritz.box>
and subject line Re: M-: uses a wrong value of debug-on-error when it is nil.
has caused the debbugs.gnu.org bug report #67196,
regarding M-: uses a wrong value of debug-on-error when it is nil.
to be marked as done.
(If you believe you have received this mail in error, please contact
help-debbugs <at> gnu.org.)
--
67196: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=67196
GNU Bug Tracking System
Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
Hello, Emacs.
On the master branch (and probably any recent Emacs):
(i) emacs -Q
(ii) C-h v debug-on-error RET
(iii) M-: debug-on-error RET
From (ii) it will be seen that debug-on-error's value is nil.
(iii) wrongly reports that its value is t. This is a bug.
#########################################################################
What is happening here is that eval-expression binds debug-on-error to
an uninterned symbol called "t", so that d-o-e will be set to non-nil
for the evaluation of the coming form.
This has the unwanted side effect of ignoring the actual value of d-o-e
in forms which use it. For example, if the variable is set to a list of
error symbols, this value gets ignored on evaluating a form with M-:.
--
Alan Mackenzie (Nuremberg, Germany).
[Message part 3 (message/rfc822, inline)]
On Wed, Nov 15, 2023 at 13:48:40 +0000, Alan Mackenzie wrote:
> Hello, Emacs.
> On the master branch (and probably any recent Emacs):
> (i) emacs -Q
> (ii) C-h v debug-on-error RET
> (iii) M-: debug-on-error RET
> From (ii) it will be seen that debug-on-error's value is nil.
> (iii) wrongly reports that its value is t. This is a bug.
> #########################################################################
> What is happening here is that eval-expression binds debug-on-error to
> an uninterned symbol called "t", so that d-o-e will be set to non-nil
> for the evaluation of the coming form.
> This has the unwanted side effect of ignoring the actual value of d-o-e
> in forms which use it. For example, if the variable is set to a list of
> error symbols, this value gets ignored on evaluating a form with M-:.
This bug was fixed by the following commit:
commit 7959a63ce258c90eb3c7947ab3318c5531eb37d9
Author: Stefan Monnier <monnier <at> iro.umontreal.ca>
Date: Mon Dec 18 23:47:56 2023 -0500
(eval-expression): Fix bug#67196
by using the newly written handler-bind.
--
Alan Mackenzie (Nuremberg, Germany).
This bug report was last modified 211 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.