複数バージョンの管理
Emacs-23.3 と Emacs-24.0.93 とのユーザ初期設定ファイルを管理するためには、 ~/.emacs.d/init.el を Emacs バージョン分岐用ファイルにする必要があります。 この節では、複数バージョンの管理に関する一例を紹介します。
例 4-2 複数バージョン分岐用ファイル ~/.emacs.d/init.el
以下のような ~/.emacs.d/init.el に変更すると、 Emacs-23.3, Emacs-24.0.93 のユーザ初期設定ファイルは、それぞれ ~/.emacs.d/emacs23-init.el, ~/.emacs.d/emacs24-init.el になります。 また、必要であれば、以下のようにカスタマイズによる設定を、 別ファイルに保存してもよいでしょう。 Emacs-23.3, Emacs-24.0.93 のカスタムファイルは、それぞれ ~/.emacs.d/emacs23-custom.el, ~/.emacs.d/emacs24-custom.el になります。
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; -*- coding: utf-8-unix -*- ;; FSF Emacs バージョン分岐用ファイル ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; ユーザ初期設定ファイルの指定 (setq user-init-file (concat "~/.emacs.d/emacs" (number-to-string emacs-major-version) "-init.el")) ;; ;; カスタムファイルの指定 ;; (setq custom-file ;; (concat "~/.emacs.d/emacs" (number-to-string emacs-major-version) ;; "-custom.el")) (if (file-exists-p (expand-file-name user-init-file)) (load-file (expand-file-name user-init-file))) ;; (if (file-exists-p (expand-file-name custom-file)) ;; (load-file (expand-file-name custom-file))) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; Local Variables: ;; mode: emacs-lisp ;; End:
Emacs バージョンによらずに、 共通な設定をまとめて記述しておきたい場合は、 ~/.emacs.d/init.el に直接記述するか、以下の例の ~/.emacs.d/emacs-common.el のようなファイルを設けてもよいでしょう。
;; 個人的な設定ファイル: Emacs バージョン共通 (setq my-emacs-common-file "~/.emacs.d/emacs-common.el") (if (file-exists-p (expand-file-name my-emacs-common-file)) (load-file (expand-file-name my-emacs-common-file)))