aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--lisp/emacs-lisp/bytecomp.el6
1 files changed, 4 insertions, 2 deletions
diff --git a/lisp/emacs-lisp/bytecomp.el b/lisp/emacs-lisp/bytecomp.el
index 7aae87c50dc..6b7b804d7de 100644
--- a/lisp/emacs-lisp/bytecomp.el
+++ b/lisp/emacs-lisp/bytecomp.el
@@ -2962,8 +2962,10 @@ If FORM is a lambda or a macro, byte-compile it as a function."
2962 (when (or (symbolp form) (interpreted-function-p fun)) 2962 (when (or (symbolp form) (interpreted-function-p fun))
2963 ;; `fun' is a function *value*, so try to recover its 2963 ;; `fun' is a function *value*, so try to recover its
2964 ;; corresponding source code. 2964 ;; corresponding source code.
2965 (setq lexical-binding (not (null (aref fun 2)))) 2965 (if (not (interpreted-function-p fun))
2966 (setq fun (byte-compile--reify-function fun)) 2966 (setq lexical-binding nil)
2967 (setq lexical-binding (not (null (aref fun 2))))
2968 (setq fun (byte-compile--reify-function fun)))
2967 (setq need-a-value t)) 2969 (setq need-a-value t))
2968 ;; Expand macros. 2970 ;; Expand macros.
2969 (setq fun (byte-compile-preprocess fun)) 2971 (setq fun (byte-compile-preprocess fun))