Function: set-language-info-alist
set-language-info-alist is a byte-compiled function defined in
mule-cmds.el.gz.
Signature
(set-language-info-alist LANG-ENV ALIST &optional PARENTS)
Documentation
Store ALIST as the definition of language environment LANG-ENV.
ALIST is an alist of KEY and INFO values. See the documentation of
language-info-alist for the meanings of KEY and INFO.
Optional arg PARENTS is a list of parent menu names; it specifies where to put this language environment in the Describe Language Environment and Set Language Environment menus. For example, ("European") means to put this language environment in the European submenu in each of those two menus.
Source Code
;; Defined in /usr/src/emacs/lisp/international/mule-cmds.el.gz
(defun set-language-info-alist (lang-env alist &optional parents)
"Store ALIST as the definition of language environment LANG-ENV.
ALIST is an alist of KEY and INFO values. See the documentation of
`language-info-alist' for the meanings of KEY and INFO.
Optional arg PARENTS is a list of parent menu names; it specifies
where to put this language environment in the
Describe Language Environment and Set Language Environment menus.
For example, (\"European\") means to put this language environment
in the European submenu in each of those two menus."
(when (symbolp lang-env)
(setq lang-env (symbol-name lang-env)))
(if parents
(while parents
(let (describe-map setup-map parent-symbol parent prompt)
(if (symbolp (setq parent-symbol (car parents)))
(setq parent (symbol-name parent))
(setq parent parent-symbol parent-symbol (intern parent)))
(setq describe-map (lookup-key describe-language-environment-map
(vector parent-symbol)))
;; This prompt string is for define-prefix-command, so
;; that the map it creates will be suitable for a menu.
(or describe-map (setq prompt (format "%s Environment" parent)))
(unless describe-map
(setq describe-map (intern (format "describe-%s-environment-map"
(downcase parent))))
(define-prefix-command describe-map nil prompt)
(define-key-after
describe-language-environment-map
(vector parent-symbol) (cons parent describe-map)))
(setq setup-map (lookup-key setup-language-environment-map
(vector parent-symbol)))
(unless setup-map
(setq setup-map (intern (format "setup-%s-environment-map"
(downcase parent))))
(define-prefix-command setup-map nil prompt)
(define-key-after
setup-language-environment-map
(vector parent-symbol) (cons parent setup-map)))
(setq parents (cdr parents))
(set-language-info-setup-keymap
lang-env alist
(symbol-value describe-map) (symbol-value setup-map))))
(set-language-info-setup-keymap
lang-env alist
describe-language-environment-map setup-language-environment-map))
(dolist (elt alist)
(set-language-info-internal lang-env (car elt) (cdr elt)))
(if (equal lang-env current-language-environment)
(set-language-environment lang-env)))