Mercurial > emacs
changeset 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 | 16dc368b49dd |
children | 59e6ee29c69b |
files | lisp/subr.el |
diffstat | 1 files changed, 22 insertions(+), 0 deletions(-) [+] |
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.