Function: set-language-info-internal
set-language-info-internal is a byte-compiled function defined in
mule-cmds.el.gz.
Signature
(set-language-info-internal LANG-ENV KEY INFO)
Documentation
Internal use only.
Arguments are the same as set-language-info.
Source Code
;; Defined in /usr/src/emacs/lisp/international/mule-cmds.el.gz
(defun set-language-info-internal (lang-env key info)
"Internal use only.
Arguments are the same as `set-language-info'."
(let (lang-slot key-slot)
(setq lang-slot (assoc lang-env language-info-alist))
(if (null lang-slot) ; If no slot for the language, add it.
(setq lang-slot (list lang-env)
language-info-alist (cons lang-slot language-info-alist)))
(setq key-slot (assq key lang-slot))
(if (null key-slot) ; If no slot for the key, add it.
(progn
(setq key-slot (list key))
(setcdr lang-slot (cons key-slot (cdr lang-slot)))))
(setcdr key-slot (purecopy info))
;; Update the custom-type of `current-language-environment'.
(put 'current-language-environment 'custom-type
(cons 'choice (mapcar
(lambda (lang)
(list 'const lang))
(sort (mapcar 'car language-info-alist) 'string<))))))