Function: set-language-environment
set-language-environment is an interactive and byte-compiled function
defined in mule-cmds.el.gz.
Signature
(set-language-environment LANGUAGE-NAME)
Documentation
Set up multilingual environment for using LANGUAGE-NAME.
This sets the coding system priority and the default input method and sometimes other things. LANGUAGE-NAME should be a string which is the name of a language environment. For example, "Latin-1" specifies the character set for the major languages of Western Europe.
If there is a prior value for current-language-environment, this
runs the hook exit-language-environment-hook. After setting up
the new language environment, it runs set-language-environment-hook.
Probably introduced at or before Emacs version 20.1.
Key Bindings
Source Code
;; Defined in /usr/src/emacs/lisp/international/mule-cmds.el.gz
(defun set-language-environment (language-name)
"Set up multilingual environment for using LANGUAGE-NAME.
This sets the coding system priority and the default input method
and sometimes other things. LANGUAGE-NAME should be a string
which is the name of a language environment. For example, \"Latin-1\"
specifies the character set for the major languages of Western Europe.
If there is a prior value for `current-language-environment', this
runs the hook `exit-language-environment-hook'. After setting up
the new language environment, it runs `set-language-environment-hook'."
(interactive (list (read-language-name
nil
(format-prompt "Set language environment" "English"))))
(if language-name
(if (symbolp language-name)
(setq language-name (symbol-name language-name)))
(setq language-name "English"))
(let ((slot (assoc-string language-name language-info-alist t)))
(unless slot
(error "Language environment not defined: %S" language-name))
(setq language-name (car slot)))
(if current-language-environment
(let ((func (get-language-info current-language-environment
'exit-function)))
(run-hooks 'exit-language-environment-hook)
(if (functionp func) (funcall func))))
(reset-language-environment)
;; The features might set up coding systems.
(let ((required-features (get-language-info language-name 'features)))
(while required-features
(require (car required-features))
(setq required-features (cdr required-features))))
(setq current-language-environment language-name)
(set-language-environment-coding-systems language-name)
(set-language-environment-input-method language-name)
(set-language-environment-nonascii-translation language-name)
(set-language-environment-charset language-name)
(let ((func (get-language-info language-name 'setup-function)))
(if (functionp func)
(funcall func)))
(setq current-iso639-language
(or (get-language-info language-name 'iso639-language)
current-iso639-language))
(run-hooks 'set-language-environment-hook)
(force-mode-line-update t))