vc.elのGit-Log-Viewモードでgitログを表示するときに、現在選択されているリージョンによって識別されるコミットを操作するための一連のelisp関数を記述したいと思います。これらの関数の一般的なサブコンポーネントは、Git-Log-Viewバッファー内のリージョンによって選択されたコミットのリストのコミットメタデータを取得する関数である必要がありますが、そのようなルーチンを作成する方法がわかりません。私はvc.elがそのようなメカニズムを直接提供することを望んでいましたが、私が適切に見ることができるものからはそうではありません。
私はvc.elとvc-git.elをざっと見て、vc.elがどのように機能するかを理解しようとしましたが、それはかなり複雑なelispであり、決してelispの専門家ではありません。vc.el/vc-git.elのコミットメタデータはどこかで利用できるので、私には理にかなっているようです。Git-Log-Viewモードでは、リージョンを選択してそのリージョンのチェンジセット差分を要求したり、特定のコミットを展開して詳細なコミット情報を表示します。同様の機能をいくつか構築したいと思います。
これを行う方法について何か考えはありますか?現在選択されているテキストを直接取得して、省略されたログ形式を自分で解析できると思いますが、vc-modeが役立つ場合は、それを避けたいと思う膨大な量の作業のようです。