Subject: bug#9120: 24.0.50; Cannot debug lexical-binded function (closure)

From: Kan-Ru Chen <[email-masked]>
Date: Tue, 19 Jul 2011 10:32:22 +0800

The lisp debugger doesn't know the closure form:

(setq lexical-binding t)
(defun my-test nil)
(debug-on-entry 'my-test)
=> (error "my-test is not a user-defined Lisp function")

And if the file was byte-compiled, for example:

(debug-on-entry 'shell)
(shell)
=> call-interactively: Invalid function: (lambda 256 "Run an inferior
shell, with I/O through BUFFER (which defaults to `*shell*'). [rest of
the doc string]

Thus one cannot debug most byte-compiled lisp functions (46 files
under lisp/ have declared lexical-binding).

--
Kanru

In GNU Emacs 24.0.50.1 (x86_64-unknown-linux-gnu, GTK+ Version 2.24.5)
 of 2011-07-19 on isil
configured using `configure  '--with-xpm=no' '--with-gif=no' '--with-tiff=no''