* lisp/emacs-lisp/bytecomp.el (byte-compile): Fix handling of closures.

This commit is contained in:
Stefan Monnier 2012-11-20 14:05:20 -05:00
parent 3837d988dd
commit 5d0ccd9509
2 changed files with 4 additions and 2 deletions

View file

@ -1,5 +1,7 @@
2012-11-20 Stefan Monnier <monnier@iro.umontreal.ca>
* emacs-lisp/bytecomp.el (byte-compile): Fix handling of closures.
* emacs-lisp/byte-run.el (defun-declarations-alist): Fix last change.
* subr.el (called-interactively-p-functions): New var.

View file

@ -2509,8 +2509,8 @@ If FORM is a lambda or a macro, byte-compile it as a function."
(when (symbolp form)
(unless (memq (car-safe fun) '(closure lambda))
(error "Don't know how to compile %S" fun))
(setq fun (byte-compile--reify-function fun))
(setq lexical-binding (eq (car fun) 'closure)))
(setq lexical-binding (eq (car fun) 'closure))
(setq fun (byte-compile--reify-function fun)))
(unless (eq (car-safe fun) 'lambda)
(error "Don't know how to compile %S" fun))
;; Expand macros.