changeset 21847:8f34099fb8b4

(assoc-ignore-representation): New function. (assoc-ignore-case): Use compare-strings.
author Richard M. Stallman <rms@gnu.org>
date Wed, 29 Apr 1998 20:33:11 +0000
parents 486ac68ce051
children 050ea21cec87
files lisp/simple.el
diffstat 1 files changed, 15 insertions(+), 3 deletions(-) [+]
line wrap: on
line diff
--- a/lisp/simple.el	Wed Apr 29 09:49:44 1998 +0000
+++ b/lisp/simple.el	Wed Apr 29 20:33:11 1998 +0000
@@ -3425,11 +3425,23 @@
   (put symbol 'hookvar (or hookvar 'mail-send-hook)))
 
 (defun assoc-ignore-case (key alist)
-  "Like `assoc', but assumes KEY is a string and ignores case when comparing."
-  (setq key (downcase key))
+  "Like `assoc', but ignores differences in case and text representation.
+KEY must be a string.  Upper-case and lower-case letters are treated as equal.
+Unibyte strings are converted to multibyte for comparison."
   (let (element)
     (while (and alist (not element))
-      (if (equal key (downcase (car (car alist))))
+      (if (eq t (compare-strings key 0 nil (car (car alist)) 0 nil t))
+	  (setq element (car alist)))
+      (setq alist (cdr alist)))
+    element))
+
+(defun assoc-ignore-representation (key alist)
+  "Like `assoc', but ignores differences in text representation.
+KEY must be a string.  
+Unibyte strings are converted to multibyte for comparison."
+  (let (element)
+    (while (and alist (not element))
+      (if (eq t (compare-strings key 0 nil (car (car alist)) 0 nil))
 	  (setq element (car alist)))
       (setq alist (cdr alist)))
     element))