Mercurial > emacs
comparison lisp/international/mule-cmds.el @ 55047:428f891f9e31
Use assoc-string, not assoc-ignore-case.
author | Richard M. Stallman <rms@gnu.org> |
---|---|
date | Wed, 21 Apr 2004 19:16:15 +0000 |
parents | 96c240b674ee |
children | 9629ef26c137 |
comparison
equal
deleted
inserted
replaced
55046:59e11b0793cf | 55047:428f891f9e31 |
---|---|
1052 KEY is a symbol denoting the kind of information. | 1052 KEY is a symbol denoting the kind of information. |
1053 For a list of useful values for KEY and their meanings, | 1053 For a list of useful values for KEY and their meanings, |
1054 see `language-info-alist'." | 1054 see `language-info-alist'." |
1055 (if (symbolp lang-env) | 1055 (if (symbolp lang-env) |
1056 (setq lang-env (symbol-name lang-env))) | 1056 (setq lang-env (symbol-name lang-env))) |
1057 (let ((lang-slot (assoc-ignore-case lang-env language-info-alist))) | 1057 (let ((lang-slot (assoc-string lang-env language-info-alist t))) |
1058 (if lang-slot | 1058 (if lang-slot |
1059 (cdr (assq key (cdr lang-slot)))))) | 1059 (cdr (assq key (cdr lang-slot)))))) |
1060 | 1060 |
1061 (defun set-language-info (lang-env key info) | 1061 (defun set-language-info (lang-env key info) |
1062 "Modify part of the definition of language environment LANG-ENV. | 1062 "Modify part of the definition of language environment LANG-ENV. |
1595 This variable should be set only with \\[customize], which is equivalent | 1595 This variable should be set only with \\[customize], which is equivalent |
1596 to using the function `set-language-environment'." | 1596 to using the function `set-language-environment'." |
1597 :link '(custom-manual "(emacs)Language Environments") | 1597 :link '(custom-manual "(emacs)Language Environments") |
1598 :set (lambda (symbol value) (set-language-environment value)) | 1598 :set (lambda (symbol value) (set-language-environment value)) |
1599 :get (lambda (x) | 1599 :get (lambda (x) |
1600 (or (car-safe (assoc-ignore-case | 1600 (or (car-safe (assoc-string |
1601 (if (symbolp current-language-environment) | 1601 (if (symbolp current-language-environment) |
1602 (symbol-name current-language-environment) | 1602 (symbol-name current-language-environment) |
1603 current-language-environment) | 1603 current-language-environment) |
1604 language-info-alist)) | 1604 language-info-alist t)) |
1605 "English")) | 1605 "English")) |
1606 ;; custom type will be updated with `set-language-info'. | 1606 ;; custom type will be updated with `set-language-info'. |
1607 :type (if language-info-alist | 1607 :type (if language-info-alist |
1608 (cons 'choice (mapcar | 1608 (cons 'choice (mapcar |
1609 (lambda (lang) | 1609 (lambda (lang) |
1747 "Set language environment (default, English): "))) | 1747 "Set language environment (default, English): "))) |
1748 (if language-name | 1748 (if language-name |
1749 (if (symbolp language-name) | 1749 (if (symbolp language-name) |
1750 (setq language-name (symbol-name language-name))) | 1750 (setq language-name (symbol-name language-name))) |
1751 (setq language-name "English")) | 1751 (setq language-name "English")) |
1752 (let ((slot (assoc-ignore-case language-name language-info-alist))) | 1752 (let ((slot (assoc-string language-name language-info-alist t))) |
1753 (unless slot | 1753 (unless slot |
1754 (error "Language environment not defined: %S" language-name)) | 1754 (error "Language environment not defined: %S" language-name)) |
1755 (setq language-name (car slot))) | 1755 (setq language-name (car slot))) |
1756 (if current-language-environment | 1756 (if current-language-environment |
1757 (let ((func (get-language-info current-language-environment | 1757 (let ((func (get-language-info current-language-environment |
2280 first by case-insensitive lookup in `locale-charset-alist'. Then | 2280 first by case-insensitive lookup in `locale-charset-alist'. Then |
2281 matches are looked for in the coding system list, treating case and | 2281 matches are looked for in the coding system list, treating case and |
2282 the characters `-' and `_' as insignificant. The coding system base | 2282 the characters `-' and `_' as insignificant. The coding system base |
2283 is returned. Thus, for instance, if charset \"ISO8859-2\", | 2283 is returned. Thus, for instance, if charset \"ISO8859-2\", |
2284 `iso-latin-2' is returned." | 2284 `iso-latin-2' is returned." |
2285 (or (car (assoc-ignore-case charset locale-charset-alist)) | 2285 (or (car (assoc-string charset locale-charset-alist t)) |
2286 (let ((cs coding-system-alist) | 2286 (let ((cs coding-system-alist) |
2287 c) | 2287 c) |
2288 (while (and (not c) cs) | 2288 (while (and (not c) cs) |
2289 (if (locale-charset-match-p charset (caar cs)) | 2289 (if (locale-charset-match-p charset (caar cs)) |
2290 (setq c (intern (caar cs))) | 2290 (setq c (intern (caar cs))) |