Changes between Version 6 and Version 7 of Emacs


Ignore:
Timestamp:
2009/04/25 12:53:38 (15 years ago)
Author:
munepi
Comment:

vine-default「仕組み」を追加

Legend:

Unmodified
Added
Removed
Modified
  • Emacs

    v6 v7  
    9191を設定します。 
    9292 
    93 vine-default を無効にしたときに、いくつかの vine-default を有効にすることができます。 
     93vine-default をすべて無効にしたときに、いくつかの vine-default を有効にすることができます。 
    9494例えば、vine-default.yatex, vine-default-tamago のみを有効にしたい場合は、 
    9595~/.emacs.el に 
     
    104104 
    105105 
     106=== IME === 
     107 
     108Vine Linux の Emacs 上における IME は、 
     109X 上におけるそれと連動して、環境変数 EMACS_IME により設定されます。 
     110 
     111もし EMACS_IME と異なる IME を使いたい場合は、 
     112skk を例にすると、~/.emacs.el に 
     113{{{ 
     114(setq emacs-ime "skk") 
     115}}} 
     116を設定します。 
     117 
     118 
    106119=== 仕組み === 
    107120 
    108 参考:[http://ml.vinelinux.org/vineseed/msg00320.html VineSeed:17162] 
     121vine-default は、各デフォルト設定を読み込む *-init.el を、 
     122vine-default-setup 内で読まれる vine-default-setup-hook にひっかけて一旦ストックしておき、 
     123after-init-hook にひっかけた vine-default-setup を実行することにより、 
     124Vine Linux のデフォルト設定が読み込まれます。 
     125 
     126具体的には、site-start.el と *-init.el に以下のような関数とフックを定義しています。 
     127{{{ 
     128;;; Emacs default settings for Vine Linux 
     129(defcustom emacs-ime (getenv "EMACS_IME") 
     130  "A variable of default Input Method Editor" 
     131  :type 'string) 
     132(if (null emacs-ime) 
     133    (setq emacs-ime "scim")) 
     134 
     135(defcustom vine-default t 
     136  "A boolean for all Vine Linux default settings" 
     137  :type 'boolean) 
     138(if (equal (getenv "LOGNAME") "root")  
     139    (setq vine-default nil)) 
     140 
     141(defcustom vine-default-base t 
     142  "A boolean for vine-default-base" 
     143  :type 'boolean) 
     144 
     145(defcustom vine-default-faces t 
     146  "A boolean for vine-default-faces" 
     147  :type 'boolean) 
     148 
     149(defvar vine-default-setup-hook nil 
     150  "*List of functions to be called at vine-default-setup") 
     151 
     152(defvar after-vine-default-setup-hook nil 
     153  "*List of functions to be called at the end of vine-default-setup") 
     154 
     155(defun vine-default-setup () 
     156  "a function for setup to default configurations of Vine Linux." 
     157  (if vine-default 
     158      (progn 
     159        (if vine-default-base (require 'vine-default-base)) 
     160        (if vine-default-faces (require 'vine-default-faces)) 
     161        (run-hooks 'vine-default-setup-hook) 
     162        (run-hooks 'after-vine-default-setup-hook) 
     163        ) 
     164    ) 
     165  ) 
     166 
     167(add-hook 'after-init-hook 'vine-default-setup) 
     168;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; 
     169 
     170(mapc 'load (directory-files "/etc/emacs-23.0.92/site-start.d" t "\\.el\\'")) 
     171}}} 
     172 
     173Emacs の関連パッケージに対しては、 
     174例えば YaTeX の場合は、 
     17550yatex-init.el に以下のような設定を追加しています。 
     176{{{ 
     177(defcustom vine-default-yatex t 
     178  "A boolean for vine-default-yatex" 
     179  :type 'boolean) 
     180 
     181(add-hook 'vine-default-setup-hook 
     182          (lambda() 
     183            (if vine-default-yatex 
     184                (require 'vine-default-yatex)))) 
     185}}} 
    109186 
    110187=== 旧版 .emacs.my.el ===