]> git.eshelyaron.com Git - emacs.git/commitdiff
(mule-keymap): Bind l to set-language-environment.
authorKenichi Handa <handa@m17n.org>
Tue, 15 Jul 1997 08:24:47 +0000 (08:24 +0000)
committerKenichi Handa <handa@m17n.org>
Tue, 15 Jul 1997 08:24:47 +0000 (08:24 +0000)
(set-language-environment): Remove autoload cookie.  Accept null input
for resetting to default.
(select-input-method): Signal error if enable-multibyte-characters is
nil.
(toggle-input-method): Likewise.

lisp/international/mule-cmds.el

index 3291f49e72df9c57a715a4e9920958d117850663..f53fe961d1c5461212fa2b00af39673f7643ad2c 100644 (file)
@@ -40,6 +40,7 @@
 (define-key mule-keymap "p" 'set-buffer-process-coding-system)
 (define-key mule-keymap "\C-\\" 'select-input-method)
 (define-key mule-keymap "c" 'universal-coding-system-argument)
+(define-key mule-keymap "l" 'set-language-environment)
 
 (define-key help-map "\C-L" 'describe-language-environment)
 (define-key help-map "L" 'describe-language-environment)
 ;; but it won't be used that frequently.
 (define-key global-map "\C-\\" 'toggle-input-method)
 
+;; Here's an alternative key binding for X users (Shift-SPACE).
+(define-key global-map [?\S- ] 'toggle-input-method)
+
 (defun toggle-enable-multibyte-characters (&optional arg)
   "Change whether this buffer enables multibyte characters.
 With arg, make them enable iff arg is positive."
@@ -344,10 +348,13 @@ If nil, it means no input method is activated now.")
 (make-variable-buffer-local 'current-input-method-title)
 (put 'current-input-method-title 'permanent-local t)
 
-(defvar default-input-method nil
-  "Default input method for multilingual text.
-The default input method is the one activated automatically by the command
-`toggle-input-method' (\\[toggle-input-method]).")
+(defcustom default-input-method nil
+  "*Default input method for multilingual text.
+This is the input method activated automatically by the command
+`toggle-input-method' (\\[toggle-input-method]).
+Automatically local in all buffers."
+  :group 'mule)
+
 (make-variable-buffer-local 'default-input-method)
 (put 'default-input-method 'permanent-local t)
 
@@ -440,6 +447,8 @@ See also the function `register-input-method'."
   (interactive
    (let* ((default (or previous-input-method default-input-method))
          (initial (if default (cons default 0))))
+     (if (not enable-multibyte-characters)
+        (error "Can't activate any input method while enable-multibyte-characters is nil"))
      (list (read-input-method-name "Input method: " initial t))))
   (activate-input-method input-method)
   (setq-default default-input-method default-input-method))
@@ -454,15 +463,14 @@ interactively."
   (interactive "P")
   (let* ((default (or previous-input-method default-input-method))
         (initial (if default (cons default 0))))
-    (if arg
-       (activate-input-method
-        (read-input-method-name "Input method: " initial t))
-      (if current-input-method
-         (inactivate-input-method)
-       (if default-input-method
-           (activate-input-method default-input-method)
-         (activate-input-method
-          (read-input-method-name "Input method: " initial t)))))))
+    (if (and current-input-method (not arg))
+       (inactivate-input-method)
+      (if (not enable-multibyte-characters)
+         (error "Can't activate any input method while enable-multibyte-characters is nil"))
+      (activate-input-method
+       (if (or arg (not default-input-method))
+          (read-input-method-name "Input method: " initial t)  
+        default-input-method)))))
 
 (defun describe-input-method (input-method)
   "Describe the current input method."
@@ -538,16 +546,15 @@ inputting at minibuffer if this flag is t.")
 (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)))
+  (interactive (list (read-language-name 'setup-function
+                                        "Language (null for default): ")))
+  (or language-name
+      (setq language-name "English"))
+  (if (null (get-language-info language-name 'setup-function))
       (error "Language environment not defined: %S" language-name))
   (funcall (get-language-info language-name 'setup-function))
   (setq current-language-environment language-name)