git のコミットメッセージを Emacs で書くときに自動で文字コードを指定する

.gitconfig に以下のように書いておくと
git commit したときに Emacs でコミットメッセージが書ける。

[core]
        editor = emacsclientw


それで、コミットメッセージに日本語を書く度に
C-x RET f utf-8 してからコミットしてたんだけど
毎回やるのが面倒になってきたので自動化することにした。


.emacs にこんなん書いたらできた。

;;; git commit したときのバッファを utf-8 にする
(add-hook 'server-visit-hook
          (function (lambda ()
                      (if (string-match "COMMIT_EDITMSG" buffer-file-name)
                          (set-buffer-file-coding-system 'utf-8)))))


こっちでもできる

(add-hook 'find-file-hooks
          (function (lambda ()
                      (if (string-match "COMMIT_EDITMSG" buffer-file-name)
                          (set-buffer-file-coding-system 'utf-8)))))

んだけど emacsclient で開いてるので
find-file-hooks(ファイルを開くときのフック)を使うよりも
server-visit-hook(emacsclient で開いたときのフック)を使った方がいいかなと思った。

余談

COMMIT_EDITMSG を COMMIT_EDITING に空目して20分くらい無駄にした。トホホ。