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 bug report
#67196: M-: uses a wrong value of debug-on-error when it is nil.
which was filed against the emacs package, has been closed.
The explanation is attached below, along with your original report.
If you require more details, please reply to 67196 <at> debbugs.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)]
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).
[Message part 3 (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).
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.