| 18 | * after-vine-default-setup-hook 廃止への未対応 |
| 19 | * vine-default-scim-bridge.el |
| 20 | * vine-default-ibus-el.el |
| 21 | * ... 要調査 |
| 22 | |
| 23 | == vine-default == |
| 24 | |
| 25 | vine-default の仕組みを新しくしました [http://ml.vinelinux.org/vineseed/msg05398.html VineSeed:22246]。 |
| 26 | |
| 27 | === 新しい仕組み === |
| 28 | |
| 29 | vine-default を呼ぶタイミングの改善しました。 |
| 30 | |
| 31 | 1. /usr/share/emacs-24.0.50/site-lisp/site-start.el |
| 32 | 1. /etc/emacs-24.0.50/site-start.d/XX-package-init.el (X ∈ {0, 1, 2,..., 9}) |
| 33 | 1. /etc/emacs/emacs24-local.el |
| 34 | 1. vine-default 用設定ファイル |
| 35 | * ${HOME}/.emacs.d/emacs24-vine-default.el |
| 36 | 1. vine-default-setup を実行 |
| 37 | * /usr/share/emacs-24.0.50/site-lisp/ |
| 38 | * vine-default-base.el, vine-default-faces.el |
| 39 | * PACKAGE/vine-default-PACKAGE.el |
| 40 | 1. デフォルトのユーザ初期設定ファイル |
| 41 | * ${HOME}/.emacs.d/init.el |
| 42 | * バージョン分岐用ファイルとして想定 |
| 43 | * 必要に応じて、ユーザ初期設定ファイルおよびカスタムファイルを指定 |
| 44 | * ${HOME}/.emacs.d/emacs24-init.el |
| 45 | * ${HOME}/.emacs.d/emacs24-custom.el |
| 46 | |
| 47 | これにより、今後は after-vine-default-setup-hook を廃止します。 |
| 48 | 一部の PACKAGE/vine-default-PACKAGE.el で |
| 49 | after-vine-default-setup-hook にひっかけているものがあるので、 |
| 50 | しばらくの間は暫定的に残しておきます。 |
| 51 | |
| 52 | ==== site-start.el ==== |
| 53 | |
| 54 | {{{ |
| 55 | $ cat site-start.el.emacs24 |
| 56 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
| 57 | ;;; GNU Emacs EMACS_VERSION default settings for Vine Linux |
| 58 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
| 59 | |
| 60 | (defcustom emacs-ime (getenv "EMACS_IME") |
| 61 | "A variable of default Input Method Editor" |
| 62 | :type 'string) |
| 63 | (if (null emacs-ime) |
| 64 | (setq emacs-ime "scim")) |
| 65 | |
| 66 | (defcustom vine-default t |
| 67 | "A boolean for all Vine Linux default settings" |
| 68 | :type 'boolean) |
| 69 | (if (equal (getenv "LOGNAME") "root") |
| 70 | (setq vine-default nil)) |
| 71 | |
| 72 | (defcustom vine-default-base t |
| 73 | "A boolean for vine-default-base" |
| 74 | :type 'boolean) |
| 75 | |
| 76 | (defcustom vine-default-faces t |
| 77 | "A boolean for vine-default-faces" |
| 78 | :type 'boolean) |
| 79 | |
| 80 | (defvar vine-default-setup-hook nil |
| 81 | "List of functions to be called at vine-default-setup") |
| 82 | |
| 83 | (defvar after-vine-default-setup-hook nil |
| 84 | "This hook is obsolete! Please do not use this hook. |
| 85 | List of functions to be called at the end of vine-default-setup") |
| 86 | |
| 87 | (defun vine-default-setup () |
| 88 | "A function for setup to default configurations of Vine Linux" |
| 89 | (if vine-default |
| 90 | (progn |
| 91 | (message "Starting vine-default-setup ...") |
| 92 | (if vine-default-base (require 'vine-default-base)) |
| 93 | (if vine-default-faces (require 'vine-default-faces)) |
| 94 | (run-hooks 'vine-default-setup-hook) |
| 95 | (run-hooks 'after-vine-default-setup-hook);; obsolete |
| 96 | ) |
| 97 | ) |
| 98 | ) |
| 99 | |
| 100 | (defun show-vine-default () |
| 101 | "A function to show current vine-default configurations" |
| 102 | (interactive) |
| 103 | (shell-command |
| 104 | "/usr/lib/emacsen-common/show-vine-default.sh EMACS_VERSION")) |
| 105 | |
| 106 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
| 107 | |
| 108 | ;;; run functions from the /etc/emacs-EMACS_VERSION/site-start.d directory |
| 109 | ;;; Files in this directory ending with ".el" are run on startup |
| 110 | (mapc 'load (directory-files "/etc/emacs-EMACS_VERSION/site-start.d" t "\\.el\\'")) |
| 111 | |
| 112 | ;;; load local configuration |
| 113 | (if (file-exists-p (expand-file-name "/etc/emacs/emacs24-local.el")) |
| 114 | (load (expand-file-name "/etc/emacs/emacs24-local.el"))) |
| 115 | |
| 116 | ;;; load vine-default configuration per user before vine-default-setup |
| 117 | (if (file-exists-p (expand-file-name "~/.emacs.d/emacs24-vine-default.el")) |
| 118 | (load (expand-file-name "~/.emacs.d/emacs24-vine-default.el"))) |
| 119 | |
| 120 | ;;; run vine-default-setup |
| 121 | (vine-default-setup) |
| 122 | |
| 123 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
| 124 | |
| 125 | ;; Local Variables: |
| 126 | ;; mode: emacs-lisp |
| 127 | ;; End: |
| 128 | }}} |
| 129 | |
| 130 | |
| 131 | === デフォルトのユーザ初期設定ファイル === |
| 132 | |
| 133 | Vine Linux 6 では、デフォルトのユーザ初期設定ファイルとして、 |
| 134 | ${HOME}/.emacs.d/init.el を推奨します。 |
| 135 | |
| 136 | Emacs は、~/.emacs, ~/.emacs.el, ~/.emacs.d/init.el の順番に探し、 |
| 137 | 一番最初に見つけたファイルを「デフォルトのユーザ初期設定ファイル」とする挙動をします。 |
| 138 | |
| 139 | ${HOME}/.emacs.d/init.el は、 |
| 140 | 例えばこのような感じで良いと考えています。 |
| 141 | {{{ |
| 142 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
| 143 | ;; -*- coding: utf-8-unix -*- |
| 144 | ;; FSF Emacs 22/23/24 分岐用ファイル |
| 145 | ;; |
| 146 | ;; |
| 147 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
| 148 | |
| 149 | (setq user-init-file |
| 150 | (concat "~/.emacs.d/emacs" (number-to-string emacs-major-version) |
| 151 | "-init.el")) |
| 152 | |
| 153 | (setq custom-file |
| 154 | (concat "~/.emacs.d/emacs" (number-to-string emacs-major-version) |
| 155 | "-custom.el")) |
| 156 | |
| 157 | (if (file-exists-p (expand-file-name user-init-file)) |
| 158 | (load-file (expand-file-name user-init-file))) |
| 159 | (if (file-exists-p (expand-file-name custom-file)) |
| 160 | (load-file (expand-file-name custom-file))) |
| 161 | |
| 162 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
| 163 | |
| 164 | ;; Local Variables: |
| 165 | ;; mode: emacs-lisp |
| 166 | ;; End: |
| 167 | ==================== |
| 168 | }}} |
| 169 | |
| 170 | このようにしておくと、複数のバージョンのユーザ初期設定ファイルと |
| 171 | カスタムファイル(M-x customize により書き込まれる設定ファイル)を別々に管理できます。 |
| 172 | |