| 108 | | 参考:[http://ml.vinelinux.org/vineseed/msg00320.html VineSeed:17162] |
| | 121 | vine-default は、各デフォルト設定を読み込む *-init.el を、 |
| | 122 | vine-default-setup 内で読まれる vine-default-setup-hook にひっかけて一旦ストックしておき、 |
| | 123 | after-init-hook にひっかけた vine-default-setup を実行することにより、 |
| | 124 | Vine 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 | |
| | 173 | Emacs の関連パッケージに対しては、 |
| | 174 | 例えば YaTeX の場合は、 |
| | 175 | 50yatex-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 | }}} |