Fix disassembly of non-compiled lexical functions (bug#21377)
* lisp/emacs-lisp/bytecomp.el (byte-compile): Handle `closure' arg. * lisp/emacs-lisp/disass.el: Use lexical-binding. (disassemble): Recognize `closure's as well. (disassemble-internal): Use indirect-function and help-function-arglist, and accept `closure's. (disassemble-internal): Use interactive-form. (disassemble-1): Use functionp.
This commit is contained in:
parent
2d19f8c8b4
commit
c624ab229b
2 changed files with 32 additions and 35 deletions
|
@ -2585,7 +2585,9 @@ If FORM is a lambda or a macro, byte-compile it as a function."
|
|||
(if (symbolp form) form "provided"))
|
||||
fun)
|
||||
(t
|
||||
(when (symbolp form)
|
||||
(when (or (symbolp form) (eq (car-safe fun) 'closure))
|
||||
;; `fun' is a function *value*, so try to recover its corresponding
|
||||
;; source code.
|
||||
(setq lexical-binding (eq (car fun) 'closure))
|
||||
(setq fun (byte-compile--reify-function fun)))
|
||||
;; Expand macros.
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue