diff options
| author | Richard M. Stallman | 1997-07-05 19:26:53 +0000 |
|---|---|---|
| committer | Richard M. Stallman | 1997-07-05 19:26:53 +0000 |
| commit | f850d7828c49752a95674bd1b38902b77bf9bf01 (patch) | |
| tree | 2c093374af541f98d129cfacdeceef483679f322 | |
| parent | ac4a3a2da00c2e1c8cabb5bc20f3407aad59d83c (diff) | |
| download | emacs-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.el | 25 |
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. |
| 541 | This sets the coding system priority and the default input method | 541 | This sets the coding system priority and the default input method |
| 542 | and sometimes other things." | 542 | and 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")) |