[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] master d73d138: Fix byte-optimize-memq incorrectly optimiz
From: |
Vibhav Pant |
Subject: |
[Emacs-diffs] master d73d138: Fix byte-optimize-memq incorrectly optimizing some memq forms. |
Date: |
Sun, 25 Mar 2018 02:33:08 -0400 (EDT) |
branch: master
commit d73d1384aa6d647a930b4dfe3e91505da4ffee21
Author: Vibhav Pant <address@hidden>
Commit: Vibhav Pant <address@hidden>
Fix byte-optimize-memq incorrectly optimizing some memq forms.
* lisp/emacs-lisp/byte-opt.el (byte-optimize-memq): Call
byte-optimize-and only for memq forms that can be optimized, use
byte-optimize-predicate to optimize the final form.
---
lisp/emacs-lisp/byte-opt.el | 9 +++++----
1 file changed, 5 insertions(+), 4 deletions(-)
diff --git a/lisp/emacs-lisp/byte-opt.el b/lisp/emacs-lisp/byte-opt.el
index 54421e0..004f58c 100644
--- a/lisp/emacs-lisp/byte-opt.el
+++ b/lisp/emacs-lisp/byte-opt.el
@@ -774,10 +774,11 @@
(when (and (eq (car-safe list) 'quote)
(listp (setq list (cadr list)))
(= (length list) 1))
- (setq form `(and ,(byte-optimize-predicate
- `(eq ,(nth 1 form) ',(nth 0 list)))
- ',list))))
- (byte-optimize-and form)))
+ (setq form (byte-optimize-and
+ `(and ,(byte-optimize-predicate
+ `(eq ,(nth 1 form) ',(nth 0 list)))
+ ',list)))))
+ (byte-optimize-predicate form)))
(put 'identity 'byte-optimizer 'byte-optimize-identity)
(put 'memq 'byte-optimizer 'byte-optimize-memq)
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Emacs-diffs] master d73d138: Fix byte-optimize-memq incorrectly optimizing some memq forms.,
Vibhav Pant <=