複数バージョンの管理

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)))