(member-ignore-case): New function.
authorGerd Moellmann <gerd@gnu.org>
Mon, 3 Apr 2000 19:29:56 +0000 (19:29 +0000)
committerGerd Moellmann <gerd@gnu.org>
Mon, 3 Apr 2000 19:29:56 +0000 (19:29 +0000)
lisp/subr.el

index ee6eada..ddcc360 100644 (file)
@@ -174,6 +174,18 @@ Unibyte strings are converted to multibyte for comparison."
          (setq element (car alist)))
       (setq alist (cdr alist)))
     element))
+
+(defun member-ignore-case (elt list)
+  "Like `member', but ignores differences in case and text representation.
+ELT 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 list (not element))
+      (if (eq t (compare-strings elt 0 nil (car list) 0 nil t))
+         (setq element (car list)))
+      (setq list (cdr list)))
+      element))
+
 \f
 ;;;; Keymap support.