]> git.eshelyaron.com Git - emacs.git/commitdiff
(set-language-environment): Do the real work here.
authorRichard M. Stallman <rms@gnu.org>
Sat, 5 Jul 1997 19:26:53 +0000 (19:26 +0000)
committerRichard M. Stallman <rms@gnu.org>
Sat, 5 Jul 1997 19:26:53 +0000 (19:26 +0000)
(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.

lisp/international/mule-cmds.el

index e976bbe9296495750624dc88d73f68828b2439ab..2b6b968954cb20cab33c7824ba6326b7013aa4bb 100644 (file)
@@ -522,30 +522,33 @@ inputting at minibuffer if this flag is t.")
 
 \f
 (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 @@ and sometimes other things."
 (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"))