Репозиторий ALT Linux backports/2.4
Последнее обновление: 9 июля 2008 | Пакетов: 497 | Посещений: 1494118
 поиск   регистрация   авторизация 
 
Группа :: Редакторы
Пакет: 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)))
 
design & coding: Vladimir Lettiev aka crux © 2004-2005