diff lisp/subr.el @ 25295:737e82c21934

(assoc-ignore-case, assoc-ignore-representation): Moved here from simple.el.
author Karl Heuer <kwzh@gnu.org>
date Mon, 16 Aug 1999 21:04:49 +0000
parents fd43e1a99384
children d24cf1a4dd34
line wrap: on
line diff
--- a/lisp/subr.el	Mon Aug 16 21:04:19 1999 +0000
+++ b/lisp/subr.el	Mon Aug 16 21:04:49 1999 +0000
@@ -111,6 +111,28 @@
 	  (setq found t value (if (consp elt) (cdr elt) default))))
       (setq tail (cdr tail)))
     value))
+
+(defun assoc-ignore-case (key alist)
+  "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 (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))
 
 ;;;; Keymap support.