GNU bug report logs -
#13163
24.3.50; Unloading edebug renders Emacs unusable
Previous Next
Reported by: Stephen Berman <stephen.berman <at> gmx.net>
Date: Wed, 12 Dec 2012 22:31:01 UTC
Severity: normal
Found in version 24.3.50
Done: Juanma Barranquero <lekktu <at> gmail.com>
Bug is archived. No further changes may be made.
Full log
View this message in rfc822 format
In GNU Emacs 24.3.50.6 (x86_64-suse-linux-gnu, GTK+ Version 3.4.4)
of 2012-12-03 on rosalinde
Bzr revision: 111073 dmantipov <at> yandex.ru-20121203080602-hwv4fug7bvt2red7
Windowing system distributor `The X.Org Foundation', version 11.0.11203000
System Description: openSUSE 12.2 (x86_64)
Configured using:
`configure '--without-toolkit-scroll-bars' 'CFLAGS=-g3 -O0''
0. emacs -Q
1. Instrument a defun for Edebug, e.g. type `C-u C-M-x' on find-files in
lisp/files.el.
3. Type `M-x unload-feature RET edebug RET'.
=> Emacs becomes effectively unusable: typing e.g. `M-x', `C-n', `C-p',
`C-x b', `C-h f', `C-h v', etc. raises either of the errors "Error in
post-command-hook (global-font-lock-mode-check-buffers):
(void-function edebug--called-interactively-skip)" or
"run-hook-with-args-until-success: Symbol's function definition is
void: edebug--called-interactively-skip". (However, some commands
still work, e.g `C-h e', `C-x s', `C-x 2', `C-x C-c' -- at least with
-Q; but when I hit this bug in a session started with my init-file,
at least `C-x C-c' failed, and I had to kill Emacs externally.)
I suspect this bug was introduced by this change:
revno: 110955
committer: Stefan Monnier <monnier <at> iro.umontreal.ca>
branch nick: trunk
timestamp: Mon 2012-11-19 23:24:09 -0500
message:
Make called-interactively-p work for edebug or advised code.
* lisp/subr.el (called-interactively-p-functions): New var.
(internal--called-interactively-p--get-frame): New macro.
(called-interactively-p, interactive-p): Rewrite in Lisp.
* lisp/emacs-lisp/nadvice.el (advice--called-interactively-skip): New fun.
(called-interactively-p-functions): Use it.
* lisp/emacs-lisp/edebug.el (edebug--called-interactively-skip): New fun.
(called-interactively-p-functions): Use it.
* lisp/allout.el (allout-called-interactively-p): Don't assume
called-interactively-p is a subr.
* src/eval.c (Finteractive_p, Fcalled_interactively_p, interactive_p): Remove.
(syms_of_eval): Remove corresponding defsubr.
* src/bytecode.c (exec_byte_code): `interactive-p' is now a Lisp function.
* test/automated/advice-tests.el (advice-tests--data): Remove.
(advice-tests): Move the tests directly here instead.
Add called-interactively-p tests.
The bug does not happen with my trunk build from revision 110951 (my
last build prior to the above change) but it does happen with my trunk
builds from later revisions than the above.
This bug report was last modified 12 years and 219 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.