diff options
| -rw-r--r-- | lisp/emacs-lisp/bytecomp.el | 6 |
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)) |