Группа :: Редакторы
Пакет: emacs21
Главная Изменения Спек Патчи Загрузить Bugs and FR
Патч: emacs-21.1-lang-env-prereqs.patch
--- emacs-21.1.orig/lisp/international/mule-cmds.el Thu Feb 7 00:39:13 2002
+++ emacs-21.1/lisp/international/mule-cmds.el Sun Feb 10 14:15:26 2002
@@ -763,6 +763,14 @@
environment.
features value is a list of features requested in this
language environment.
+ prereq-features value is a list of features requested before this
+ language environment can be setup. (This key
+ was not originally present in GNU Emacs 21, rather it
+ has been added mainly to bring more seamless support for
+ language-environments based on codepages' coding systems,
+ which require special actions before they can be used;
+ this key is used for Cyrillic environments based on
+ CP1251, CP866 and CP1125.)
The following keys take effect only when multibyte characters are
globally disabled, i.e. the value of `default-enable-multibyte-characters'
@@ -1431,6 +1439,15 @@
default-buffer-file-coding-system)))
(reset-language-environment)
+ ;; Require prereq-features before we do any setup of the new language-environment.
+ ;; "prereq-features" key added mainly to support codepages based
+ ;; language-environments. This piece code copied from the place below where the normal
+ ;; "features" key is processed. imz@altlinux.ru, Feb 10 2002.
+ (let ((required-features (get-language-info language-name 'prereq-features)))
+ (while required-features
+ (require (car required-features))
+ (setq required-features (cdr required-features))))
+
(setq current-language-environment language-name)
(set-language-environment-coding-systems language-name default-eol-type))
(let ((input-method (get-language-info language-name 'input-method)))
@@ -1481,10 +1498,15 @@
(setq list (cdr list))))))
(set-display-table-and-terminal-coding-system language-name))
+ ;; This comment is a check-point for the "prereq"-patch.
+ ;; I copied the next piece of code
+ ;; to a place a bit earlier to handle "prereq-features" just as "features"
+ ;; key of language-environment-info. imz@altlinux.ru, Feb 10 2002.
(let ((required-features (get-language-info language-name 'features)))
(while required-features
(require (car required-features))
(setq required-features (cdr required-features))))
+ ;; End of the check-point -- end of the copied piece of code.
(let ((func (get-language-info language-name 'setup-function)))
(if (fboundp func)
(funcall func)))