[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
master 941d155: Remove incorrect byte-hunk-handler for `eval`
From: |
Mattias Engdegård |
Subject: |
master 941d155: Remove incorrect byte-hunk-handler for `eval` |
Date: |
Sat, 18 Dec 2021 14:10:38 -0500 (EST) |
branch: master
commit 941d15558f013612689afe9fd2501ce6119a5120
Author: Mattias Engdegård <mattiase@acm.org>
Commit: Mattias Engdegård <mattiase@acm.org>
Remove incorrect byte-hunk-handler for `eval`
This optimisation is of very limited utility and miscompiles top-level
code having the form (eval 'CODE t) by replacing it with CODE which
will then, as things currently stand, be evaluated with dynamic binding.
* lisp/emacs-lisp/bytecomp.el (byte-compile-file-form-eval): Remove.
---
lisp/emacs-lisp/bytecomp.el | 9 ---------
1 file changed, 9 deletions(-)
diff --git a/lisp/emacs-lisp/bytecomp.el b/lisp/emacs-lisp/bytecomp.el
index 644d9f1..a98c919 100644
--- a/lisp/emacs-lisp/bytecomp.el
+++ b/lisp/emacs-lisp/bytecomp.el
@@ -2677,15 +2677,6 @@ list that represents a doc string reference.
(prog1 (byte-compile-keep-pending form)
(apply 'make-obsolete (mapcar 'eval (cdr form)))))
-;; This handler is not necessary, but it makes the output from dont-compile
-;; and similar macros cleaner.
-(put 'eval 'byte-hunk-handler 'byte-compile-file-form-eval)
-(defun byte-compile-file-form-eval (form)
- (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)))
-
(defun byte-compile-file-form-defmumble (name macro arglist body rest)
"Process a `defalias' for NAME.
If MACRO is non-nil, the definition is known to be a macro.
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- master 941d155: Remove incorrect byte-hunk-handler for `eval`,
Mattias Engdegård <=