aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRichard M. Stallman1997-07-05 19:26:53 +0000
committerRichard M. Stallman1997-07-05 19:26:53 +0000
commitf850d7828c49752a95674bd1b38902b77bf9bf01 (patch)
tree2c093374af541f98d129cfacdeceef483679f322
parentac4a3a2da00c2e1c8cabb5bc20f3407aad59d83c (diff)
downloademacs-f850d7828c49752a95674bd1b38902b77bf9bf01.tar.gz
emacs-f850d7828c49752a95674bd1b38902b77bf9bf01.zip
(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.
-rw-r--r--lisp/international/mule-cmds.el25
1 files changed, 15 insertions, 10 deletions
diff --git a/lisp/international/mule-cmds.el b/lisp/international/mule-cmds.el
index e976bbe9296..2b6b968954c 100644
--- a/lisp/international/mule-cmds.el
+++ b/lisp/international/mule-cmds.el
@@ -522,30 +522,33 @@ inputting at minibuffer if this flag is t.")
522 522
523 523
524(defun setup-specified-language-environment () 524(defun setup-specified-language-environment ()
525 "Setup multi-lingual environment convenient for the specified language." 525 "Set up multi-lingual environment convenient for the specified language."
526 (interactive) 526 (interactive)
527 (let (language-name func) 527 (let (language-name)
528 (if (and (symbolp last-command-event) 528 (if (and (symbolp last-command-event)
529 (or (not (eq last-command-event 'Default)) 529 (or (not (eq last-command-event 'Default))
530 (setq last-command-event 'English)) 530 (setq last-command-event 'English))
531 (setq language-name (symbol-name last-command-event)) 531 (setq language-name (symbol-name last-command-event)))
532 (setq func (get-language-info language-name 'setup-function))) 532 (set-language-environment language-name)
533 (progn
534 (funcall func)
535 (force-mode-line-update t))
536 (error "Bogus calling sequence")))) 533 (error "Bogus calling sequence"))))
537 534
535(defvar current-language-environment "English"
536 "The last language environment specified with `set-language-environment'.")
537
538;;;###autoload 538;;;###autoload
539(defun set-language-environment (language-name) 539(defun set-language-environment (language-name)
540 "Set up multi-lingual environment for using LANGUAGE-NAME. 540 "Set up multi-lingual environment for using LANGUAGE-NAME.
541This sets the coding system priority and the default input method 541This sets the coding system priority and the default input method
542and sometimes other things." 542and sometimes other things."
543 (interactive (list (read-language-name 'setup-function "Language: "))) 543 (interactive (list (read-language-name 'setup-function "Language: ")))
544 (if (member (downcase language-name) '("default"))
545 (setq language-name "english"))
544 (if (or (null language-name) 546 (if (or (null language-name)
545 (null (get-language-info language-name 'setup-function))) 547 (null (get-language-info language-name 'setup-function)))
546 (error "No way to setup environment for the specified language")) 548 (error "Language environment not defined: %S" language-name))
547 (let ((last-command-event (intern language-name))) 549 (funcall (get-language-info language-name 'setup-function))
548 (setup-specified-language-environment))) 550 (setq current-language-environment language-name)
551 (force-mode-line-update t))
549 552
550;; Print all arguments with `princ', then print "\n". 553;; Print all arguments with `princ', then print "\n".
551(defsubst princ-list (&rest args) 554(defsubst princ-list (&rest args)
@@ -569,6 +572,8 @@ and sometimes other things."
569(defun describe-language-environment (language-name) 572(defun describe-language-environment (language-name)
570 "Describe how Emacs supports language environment LANGUAGE-NAME." 573 "Describe how Emacs supports language environment LANGUAGE-NAME."
571 (interactive (list (read-language-name 'documentation "Language: "))) 574 (interactive (list (read-language-name 'documentation "Language: ")))
575 (if (null language-name)
576 (setq language-name current-language-environment))
572 (if (or (null language-name) 577 (if (or (null language-name)
573 (null (get-language-info language-name 'documentation))) 578 (null (get-language-info language-name 'documentation)))
574 (error "No documentation for the specified language")) 579 (error "No documentation for the specified language"))