changeset 4728:d0ea57eb3de4

Don't error if handed a string and a non-string, #'equalp. tests/ChangeLog addition: 2009-11-01 Aidan Kehoe <kehoea@parhasard.net> * automated/lisp-tests.el: Check that (equal "hi there" [hi there]) gives nil, instead of erroring; fixes a bug Ben introduced in 2002. lisp/ChangeLog addition: 2009-11-01 Aidan Kehoe <kehoea@parhasard.net> * cl-extra.el (equalp): Don't error if handed a string and a non-string.
author Aidan Kehoe <kehoea@parhasard.net>
date Sun, 01 Nov 2009 15:05:46 +0000
parents 90dbf8e772b6
children 0e5b32398bac
files lisp/ChangeLog lisp/cl-extra.el tests/ChangeLog tests/automated/lisp-tests.el
diffstat 4 files changed, 16 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/lisp/ChangeLog	Sun Nov 01 20:21:11 2009 +0900
+++ b/lisp/ChangeLog	Sun Nov 01 15:05:46 2009 +0000
@@ -1,3 +1,8 @@
+2009-11-01  Aidan Kehoe  <kehoea@parhasard.net>
+
+	* cl-extra.el (equalp): 
+	Don't error if handed a string and a non-string.
+
 2009-11-01  Stephen Turnbull  <stephen@xemacs.org>
 
 	* font.el (font-combine-fonts-internal):
--- a/lisp/cl-extra.el	Sun Nov 01 20:21:11 2009 +0900
+++ b/lisp/cl-extra.el	Sun Nov 01 15:05:46 2009 +0000
@@ -97,7 +97,8 @@
   (cond ((eq x y) t)
 	((stringp x)
 	 ;; XEmacs change: avoid downcase
-	 (eq t (compare-strings x nil nil y nil nil t)))
+	 (and (stringp y)
+	      (eq t (compare-strings x nil nil y nil nil t))))
 	;; XEmacs addition: compare characters
 	((characterp x)
 	 (and (characterp y)
--- a/tests/ChangeLog	Sun Nov 01 20:21:11 2009 +0900
+++ b/tests/ChangeLog	Sun Nov 01 15:05:46 2009 +0000
@@ -1,3 +1,9 @@
+2009-11-01  Aidan Kehoe  <kehoea@parhasard.net>
+
+	* automated/lisp-tests.el: 
+	Check that (equal "hi there" [hi there]) gives nil, instead of
+	erroring; fixes a bug Ben introduced in 2002. 
+
 2009-10-12  Aidan Kehoe  <kehoea@parhasard.net>
 
 	* automated/mule-tests.el : 
--- a/tests/automated/lisp-tests.el	Sun Nov 01 20:21:11 2009 +0900
+++ b/tests/automated/lisp-tests.el	Sun Nov 01 15:05:46 2009 +0000
@@ -2091,3 +2091,6 @@
    (letf (((values three one-four-one-five-nine) (floor pi)))
      (* three one-four-one-five-nine))))
 
+;; This used to error: 
+(Assert (nil (equalp "hi there" [hi there]))
+	"checking equalp doesn't error with string and non-string")