ネットを巡回していると、「ポータブルな .emacs.el の書き方(意訳)」という記事がありましたが、ここではさらに、「ポータブルでかつ高速起動する.emacs.el」の書き方を紹介したいと思います。
すなわち、.emacs.elで拡張ライブラリを設定するときには、
という記法で書くことが多いのですが、これを以下のような記法で統一します。
(require 'ライブラリ名)
(add-hook 'xxxx 'yyyy)
....
(setq xxxx 設定値)
....
このように書くことで、以下のメリットがあります。
(when (locate-library "ライブラリ名")
(autoload '関数名 "ライブラリ名" "関数の簡単な説明")
(autoload 'xxxx "....")
(add-hook 'xxxx 'yyyy)
....
(eval-after-load 'ライブラリ名
'(progn
(setq xxxx 設定値)
....)))
- 指定されたライブラリが入っていないEmacs環境でも ".emacs.el" はエラーを起こさない。
- 指定されたライブラリが入っていても、そのライブラリが必要とされるまで、読み込まれない。
また、ライブラリを読み込む前に設定すべき事柄(フック関数など)は、eval-after-load の後には置かないように注意しましょう。
0 件のコメント:
コメントを投稿