emacs-init-check.el 〜Emacsが立ち上がるときのエラーを自動的に防ぐ方法〜

.emacs で設定ミスって素の emacs が立ち上がったときの無力感は異常 というのは激しく同意です。 僕の場合、少し違ったアプローチをとっています。

それは、Emacsのバッチモードで ~/.emacs を読み込ませ、エラーがでないかチェックすることです。 そのためのコマンドラインは「emacs -batch --eval '(setq debug-on-error t)' -l ~/.emacs」となります。 ちなみに、 ~/.emacs.el が存在するときは、そちらが読み込まれます。 もし、エラーが起きたのであれば、バックトレースが出て異常終了します。 適切なタイミングでこのチェックを自動で行うようにすると、この問題を解決できます。

これを実現するために、emacs-init-check.elを作りました。 チェックしてエラーがでない場合は「emacs-init-check exited normally.」と出るだけです。 エラーが出た場合は実行結果がポップアップされます。

emacs-init-check.el

M-x install-elisp-from-emacswiki emacs-init-check.el


(require 'emacs-init-check)
;; 以下のディレクトリにあるファイルのみ有効にする
(setq auto-emacs-init-check-file-regexp ""/\\.emacs\\.d/"")
;; unixならばniceコマンドがあるので、ゆったりと動作させる
(add-to-list 'auto-emacs-init-check-program-args "nice")
;; VCにコミットされたときに自動でチェック
(add-hook 'vc-checkin-hook 'auto-emacs-init-check)