Mercurial > emacs
changeset 18634:8b309d07a95e
(set-language-environment): Do the real work here.
(current-language-environment): New variable.
(setup-specified-language-environment): Call set-language-environment.
Set current-language-environment.
(describe-language-environment):
By default, use current-language-environment.
author | Richard M. Stallman <rms@gnu.org> |
---|---|
date | Sat, 05 Jul 1997 19:26:53 +0000 |
parents | c8cbbd038612 |
children | d55ebf568fe7 |
files | lisp/international/mule-cmds.el |
diffstat | 1 files changed, 15 insertions(+), 10 deletions(-) [+] |
line wrap: on
line diff
--- a/lisp/international/mule-cmds.el Sat Jul 05 18:08:50 1997 +0000 +++ b/lisp/international/mule-cmds.el Sat Jul 05 19:26:53 1997 +0000 @@ -522,30 +522,33 @@ (defun setup-specified-language-environment () - "Setup multi-lingual environment convenient for the specified language." + "Set up multi-lingual environment convenient for the specified language." (interactive) - (let (language-name func) + (let (language-name) (if (and (symbolp last-command-event) (or (not (eq last-command-event 'Default)) (setq last-command-event 'English)) - (setq language-name (symbol-name last-command-event)) - (setq func (get-language-info language-name 'setup-function))) - (progn - (funcall func) - (force-mode-line-update t)) + (setq language-name (symbol-name last-command-event))) + (set-language-environment language-name) (error "Bogus calling sequence")))) +(defvar current-language-environment "English" + "The last language environment specified with `set-language-environment'.") + ;;;###autoload (defun set-language-environment (language-name) "Set up multi-lingual environment for using LANGUAGE-NAME. This sets the coding system priority and the default input method and sometimes other things." (interactive (list (read-language-name 'setup-function "Language: "))) + (if (member (downcase language-name) '("default")) + (setq language-name "english")) (if (or (null language-name) (null (get-language-info language-name 'setup-function))) - (error "No way to setup environment for the specified language")) - (let ((last-command-event (intern language-name))) - (setup-specified-language-environment))) + (error "Language environment not defined: %S" language-name)) + (funcall (get-language-info language-name 'setup-function)) + (setq current-language-environment language-name) + (force-mode-line-update t)) ;; Print all arguments with `princ', then print "\n". (defsubst princ-list (&rest args) @@ -569,6 +572,8 @@ (defun describe-language-environment (language-name) "Describe how Emacs supports language environment LANGUAGE-NAME." (interactive (list (read-language-name 'documentation "Language: "))) + (if (null language-name) + (setq language-name current-language-environment)) (if (or (null language-name) (null (get-language-info language-name 'documentation))) (error "No documentation for the specified language"))