第一回 init.el読書会に参加しました
一回目は @hico_horiuchiさんの init.elでした.
今はもう修正されているかと思いますが, 当日ツッコミを入れた
ところを示します.
add-hookに無名関数(lambda)は使わない方がいい
add-hookに無名関数を使うと
- remove-hookできない
- 2回 add-hookすると, 2個関数が登録される
といった問題があります. なるべく関数を作成して登録して
ください.
"~/.emacs.d/"は使わない方がいい
user-emacs-directory(デフォルト値は ~/.emacs.d/)を代わりに使いましょう.
こうすることで, user-emacs-directoryの値を変えることで, 別ディレクトリに
設定ファイル等をインストールすることができます(かもしれない).
color-themeは使わない(Emacs 24以上を使っている方)
Emacs 24からは themeフレームワークが付随しているのでそちらを使った方が
よいです. color-themeはそれ自体がバカでかいライブラリですし, メンテも
されていないので乗り換えれるなら乗り換えた方がよいでしょう.
https://github.com/emacs-jp/replace-colorthemes
に color-theme標準のテーマを移植したものがあります.
まだ移植されていないものは移植しますので, その場合は
ぜひお知らせください.
auto-mode-alistに登録する正規表現
拡張子にマッチさせる場合, 末尾は $か \\'にしてください. \\'は
Rubyや Perlの正規表現でいうところの \zなので, こちらの方がベターです.
その他
なるべくエラーが出るように書く
requireの第三引数や ignore-errors等でライブラリがインストールされて
いない場合の処理が書けますが, 基本的にそれはしない方がいいと思います.
そうするといざ必要となったとき, 実はインストールしていなかったという
ことになりうるので, 私はなるべくエラーが出るように設定ファイルは
書くべきだと思います.