diff lisp/cl-macs.el @ 5917:ffb5abc8dc4e

Fix a bug in the #'equalp compiler macro. lisp/ChangeLog addition: 2015-06-11 Aidan Kehoe <kehoea@parhasard.net> * cl-macs.el (equalp): Fix a bug in this compiler macro when passed constants in a certain order. tests/ChangeLog addition: 2015-06-11 Aidan Kehoe <kehoea@parhasard.net> * automated/lisp-tests.el: Add a test looking for a bug just fixed in the equalp compiler macro.
author Aidan Kehoe <kehoea@parhasard.net>
date Thu, 11 Jun 2015 16:09:11 +0100
parents bd644055ef44
children
line wrap: on
line diff
--- a/lisp/cl-macs.el	Wed Jun 03 20:13:07 2015 +0100
+++ b/lisp/cl-macs.el	Thu Jun 11 16:09:11 2015 +0100
@@ -3722,8 +3722,7 @@
 	   ;; zero-length.
 	   (cond
 	    ((member x '("" #* []))
-	     ;; No need to protect against multiple evaluation here:
-	     `(and (member ,original-y '("" #* [])) t))
+	     `(and (member ,(find x (cdr form) :test-not #'eq) '("" #* [])) t))
 	    (t form)))
 	  ((unordered-check (and (numberp x) (not (cl-const-expr-p y))))
 	   `(,@let-form