]> git.eshelyaron.com Git - emacs.git/commitdiff
Don't optimize away `eval` when its lexical context is different
authorStefan Monnier <monnier@iro.umontreal.ca>
Fri, 20 Nov 2020 21:45:56 +0000 (16:45 -0500)
committerStefan Monnier <monnier@iro.umontreal.ca>
Fri, 20 Nov 2020 21:45:56 +0000 (16:45 -0500)
* lisp/emacs-lisp/bytecomp.el (byte-compile-file-form-eval):
Obey lexical-binding.

lisp/emacs-lisp/bytecomp.el

index cbda16d051b85aaa290bdac5b9445b89badf7b21..e6f6a12b53d69ee4ba8babba33b8dd4da796dd76 100644 (file)
@@ -2570,7 +2570,8 @@ list that represents a doc string reference.
 ;; and similar macros cleaner.
 (put 'eval 'byte-hunk-handler 'byte-compile-file-form-eval)
 (defun byte-compile-file-form-eval (form)
-  (if (eq (car-safe (nth 1 form)) 'quote)
+  (if (and (eq (car-safe (nth 1 form)) 'quote)
+           (equal (nth 2 form) lexical-binding))
       (nth 1 (nth 1 form))
     (byte-compile-keep-pending form)))