bug-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#13163: 24.3.50; Unloading edebug renders Emacs unusable


From: Stephen Berman
Subject: bug#13163: 24.3.50; Unloading edebug renders Emacs unusable
Date: Wed, 12 Dec 2012 23:29:21 +0100
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3.50 (gnu/linux)

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@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@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.





reply via email to

[Prev in Thread] Current Thread [Next in Thread]