diff lisp/cl-extra.el @ 343:8bec6624d99b r21-1-1

Import from CVS: tag r21-1-1
author cvs
date Mon, 13 Aug 2007 10:52:53 +0200
parents 57709be46d1b
children a4f53d9b3154
line wrap: on
line diff
--- a/lisp/cl-extra.el	Mon Aug 13 10:52:06 2007 +0200
+++ b/lisp/cl-extra.el	Mon Aug 13 10:52:53 2007 +0200
@@ -74,6 +74,8 @@
 	((eq type 'array) (if (arrayp x) x (vconcat x)))
 	((and (eq type 'character) (stringp x) (= (length x) 1)) (aref x 0))
 	((and (eq type 'character) (symbolp x)) (coerce (symbol-name x) type))
+	((and (eq type 'character) (numberp x) (char-or-char-int-p x)
+	      (int-char x)))
 	((eq type 'float) (float x))
 	((eq type 'bit-vector) (if (bit-vector-p x) x
 				 (apply 'bit-vector (append x nil))))
@@ -106,7 +108,8 @@
 	 (and (numberp y) (= x y)))
 	((consp x)
 	 ;; XEmacs change
-	 (while (and (consp x) (consp y) (equalp (cl-pop x) (cl-pop y))))
+	 (while (and (consp x) (consp y) (equalp (car x) (car y)))
+	   (cl-pop x) (cl-pop y))
 	 (and (not (consp x)) (equalp x y)))
 	((vectorp x)
 	 (and (vectorp y) (= (length x) (length y))