mirror of
git://git.sv.gnu.org/emacs.git
synced 2026-03-09 00:11:49 -07:00
(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.
This commit is contained in:
parent
ac4a3a2da0
commit
f850d7828c
1 changed files with 15 additions and 10 deletions
|
|
@ -522,30 +522,33 @@ inputting at minibuffer if this flag is t.")
|
|||
|
||||
|
||||
(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"))
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue