[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#13061: 24.3.50; regressions: 1) Redefining a function should cancel
From: |
Drew Adams |
Subject: |
bug#13061: 24.3.50; regressions: 1) Redefining a function should cancel `debug-on-entry', 2) doc |
Date: |
Sun, 2 Dec 2012 11:47:06 -0800 |
1.
emacs -Q
(defun foo (&optional n)
(interactive "p")
(forward-char n))
M-x debug-on-entry RET foo RET
M-x foo ; enters the debugger
Then C-M-x on the defun above, to redefine foo.
M-x foo ; STILL enters the debugger
You can even add a doc string or make another change, then C-M-x, and you will
STILL enter the debugger when `foo' is invoked.
Redefining foo should cancel the `debug-on-entry'. See (elisp)
`Function Debugging':
*Warning:* if you redefine a function after using `debug-on-entry'
on it, the code to enter the debugger is discarded by the
redefinition. In effect, redefining the function cancels the
break-on-entry feature for that function.
This feature has now been broken. Please restore it.
It is a hell of a lot easier to hit C-M-x on foo's definition than it is
to do `M-x cancel-debug-on-entry RET foo RET'.
2. In the Elisp manual, this should NOT be a *Warning*. This is an
intentional, longstanding FEATURE, not something bad to be warned about.
And this WAS NOT a *Warning* but a simple *Note*, prior to Emacs 22. This
mania of introducing "*WARNING*" everywhere really should stop.
This occurrence is a second regression. "*Note*", and its attendant
sanity, should be restored here.
It would not be surprising if some misguided soul removed this feature
of debug cancellation by function redefinition precisely because of a
misunderstanding introduced by this *Warning*, thinking that this is not
a feature but something bad - a bug to be "fixed".
Far from being warned, as if this were about some bug workaround, users
should be positively informed about this feature. That's what the
original *Note* was for: to draw their attention to this positively, not
to warn them about it as if it were something to avoid.
In GNU Emacs 24.3.50.1 (i386-mingw-nt5.1.2600)
of 2012-11-19 on MS-W7-DANI
Bzr revision: 110950 monnier@iro.umontreal.ca-20121119182725-5p6w4wjimm7epggr
Windowing system distributor `Microsoft Corp.', version 5.1.2600
Configured using:
`configure --with-gcc (4.7) --no-opt --enable-checking --cflags
-Ic:/emacs/libs/libXpm-3.5.10/include -Ic:/emacs/libs/libXpm-3.5.10/src
-Ic:/emacs/libs/libpng-1.2.37-lib/include -Ic:/emacs/libs/zlib-1.2.5
-Ic:/emacs/libs/giflib-4.1.4-1-lib/include
-Ic:/emacs/libs/jpeg-6b-4-lib/include
-Ic:/emacs/libs/tiff-3.8.2-1-lib/include
-Ic:/emacs/libs/libxml2-2.7.8-w32-bin/include/libxml2
-Ic:/emacs/libs/gnutls-3.0.9-w32-bin/include
-Ic:/emacs/libs/libiconv-1.9.2-1-lib/include'
- bug#13061: 24.3.50; regressions: 1) Redefining a function should cancel `debug-on-entry', 2) doc,
Drew Adams <=