emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

master 2ba2e72: Don't optimize away `eval` when its lexical context is d


From: Stefan Monnier
Subject: master 2ba2e72: Don't optimize away `eval` when its lexical context is different
Date: Fri, 20 Nov 2020 16:46:07 -0500 (EST)

branch: master
commit 2ba2e7217f520a43a098b2ef92a452868b88cc70
Author: Stefan Monnier <monnier@iro.umontreal.ca>
Commit: Stefan Monnier <monnier@iro.umontreal.ca>

    Don't optimize away `eval` when its lexical context is different
    
    * lisp/emacs-lisp/bytecomp.el (byte-compile-file-form-eval):
    Obey lexical-binding.
---
 lisp/emacs-lisp/bytecomp.el | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/lisp/emacs-lisp/bytecomp.el b/lisp/emacs-lisp/bytecomp.el
index cbda16d..e6f6a12 100644
--- a/lisp/emacs-lisp/bytecomp.el
+++ b/lisp/emacs-lisp/bytecomp.el
@@ -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)))
 



reply via email to

[Prev in Thread] Current Thread [Next in Thread]