読者です 読者をやめる 読者になる 読者になる

gtagsのスタックをscreen毎に管理するelscreen-gtagsを書いてみた

Emacs

Emacsでelscreenを使っていてコードリーディングなどをしているとgtagsのタグジャンプを複数のスクリーンでしてしまい、
gtags-pop-stackで元の場所に戻ろうと思ったら別のスクリーンのジャンプ元に戻ったりすることがあります。
gtagsはかなり便利で昔から使っていますが、この点がずっと悩みどころでした。
最近Emacs24の対応でelscreen.elやelscreen-buffer-list.elのソースを読んでだいたい仕組みがわかったのでこの問題を解決しようと思いました。

ソースコードこちら(github)。
load-pathにおいて(require 'elscreen-gtags)するだけで有効になります。
とりあえずで作った状態なので設定項目が全くないし、細かいところでバグがあります。
気が向いたら更新していきたいと思います。

ちなみにelscreen-buffer-list.elはあまり知られていないマイナーなものかもしれないですが、
これもスクリーン毎にバッファリストを管理してくれるようになるelispです。
Emacs24になってelscreen.elとelscreen-buffer-list.elに若干修正が必要になっています。
elscreen-gtagsは修正済みのelscreen.elを前提としています。
後日修正方法をまとめようと思いますが、基本的にはこちらの通りです。