summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStefan Monnier <monnier@iro.umontreal.ca>2012-11-20 14:05:20 -0500
committerStefan Monnier <monnier@iro.umontreal.ca>2012-11-20 14:05:20 -0500
commit5d0ccd9509a21ef18e60004a4d46e60a916e4a36 (patch)
treeca5fc0c1ae8bf5d4a5b7dbe0c695b4c22e8ebacd
parent3837d988dd8892064c86ee483c6f09b2bacd7604 (diff)
* lisp/emacs-lisp/bytecomp.el (byte-compile): Fix handling of closures.
-rw-r--r--lisp/ChangeLog2
-rw-r--r--lisp/emacs-lisp/bytecomp.el4
2 files changed, 4 insertions, 2 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index edb1a65266e..910cc3522bd 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -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.
diff --git a/lisp/emacs-lisp/bytecomp.el b/lisp/emacs-lisp/bytecomp.el
index a325e0f3e44..60036c86dc0 100644
--- a/lisp/emacs-lisp/bytecomp.el
+++ b/lisp/emacs-lisp/bytecomp.el
@@ -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.