Mercurial > emacs
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))