変数の補完

この前見た、へなちょこ補完に刺激されて、lispの変数も補完してみるというのを試してみた。中身は色々自分で作ったものに依存しまくりなので、ダラダラ長くなりすぎそうなので書かないけど。
動作はこんな感じ。
letで宣言しといた変数をチェックして、setqしたときにlet内部にあればletで宣言した変数のリストをポップアップするとか。同じファイル内でdefvarで宣言しているのもチェックしてもいいかもしれないけど、状況判断して限定されている方が逆に便利そうな気もするのでいらないかと思った。

■追記
silog - diary/2007-01-17/snippet3
http://white.s151.xrea.com/wiki/index.php?diary%2F2007-01-17%2Fsnippet3#i99035cb
オーバーレイって言うのがEmacsにはあるらしい。letの所を変えたらletのカッコ内の変数を置換するというのを前に試そうとしていた時に、どうやってletの宣言の所を変化を判別しようかとか思って困っていたまま忘れ去っていたけど。modification-hooksとかいうのがあれば一撃ではないかとか思ってみた。
GNU Emacs Lispリファレンスマニュアル: 38. Emacsの画面表示
http://www.fan.gr.jp/%7Ering/doc/elisp_20/elisp_39.html#SEC627
コレを見る限りinvisibleの所とか利用したら折りたたみも簡単に出来そうな気がする。