2021年4月6日 (火曜日)

10:29:47 # Life EmacsでGit管理しているときにでてくるVCモードの *vc-log* バッファのコミットメッセージのテンプレートを作成したい。 どうしたらよいか、ソースとドキュメントを眺めてみる。 EmacsのVCモードはバージョン管理ツール汎用のモードで、vc-gitはGitようの実装、汎用の部分はvcモードが実装している。VCでコミット操作はvc-checkinっぽくて、そこから vc-git-checkinがよばれているっぽい。 つまりコミットメッセージの編集まわりはVCの管轄でvc-gitに処理がわたっている段階ではすでにコミットメッセージはEmacs側から与えられている。 さすがにコミットメッセージの仕組みは全く同じではないと思うのでバックエンドごとにいろいろカスタマイズしているんじゃないかという予想がつくがどうなっているんだろう。 vc-before-checkin-hookとvc-checkin-hookというフックがあるようだ。 vc-start-logentry処理、 vc-before-checkin-hookはコミットメッセージ編集前、 vc-checkin-hookはコミットメッセージ編集後っぽい。 vc.elのvc-checkinにわたってくるパラメータのcommentと initial-contentsがそれっぽいがここをどうかえるのか。 とおもってしらべていたらコメントが書いてあった。 いやしかし。

Junichi Uekawa