資源の少ないマシンでは、日頃あまり使わないファイルは gzip で保存しておく場合があります。 けどそうすると、たまにそのファイルを開こうとするといちいち展開しなければいけなくって面倒です。 しかし、かずしさんの書かれた jam-zcat.el をロードしておけば、gzip されたファイルを直接読み書き出来ます。 現在のバージョンは Emacs-20.2 でも使えます。
同様の機能を持つ Emacs Lisp には、Emacs に元々附属している
jka-compr.el
がありますが、こちらはどうも Mule と相性が悪いみたいで、私のところでは、書き出すときにファイルが壊れてしまうので、使ってはいません。
もっとも、Emacs-20.x ではどうかは試していません。
neumann の site-lisp には既に置いてあるので、使う場合は .emacs
に
(load "jam-zcat")
と書いておくだけです。 これで拡張子が gz のファイルは自動的に gzip されたファイルとして扱います。 自宅のマシンなどで利用するには、 jam-zcat.el を load-path の通ったディレクトリに置いて同じことをして下さい。
なお、tar されたファイルを読み書きするものもありますが、これは大きなものを読み込むと酷い目にあったりするかもしれないので、あんまりお薦めしません。 ファイルを壊しても責任持てませんし。
元々 Emacs についてる info.el
では
jka-compr.el
の方は考慮されているものの、
jam-zcat.el
は考慮されてません。そのため圧縮された Info を読む場合に不都合がおきます。
neumann では site-lisp に書き換えた info.el(c)
を置いてあるので問題ないと思いますが、他の環境で使う場合には、
info.el
に
info-jamzcat.dif
というパッチを当てると良いでしょう。
igrep.el では、拡張子 gz で検索すると、勝手に gunzip して grep してくれます。 それはいいのですが、そのままでは C-x ' や C-c C-c などで該当箇所に飛べないみたいです。 で、jam-zcat を load しておけば、ファイルを展開して開いてくれます。 Linux に附属している大量のドキュメントを、圧縮して置いている人なんかは重宝するかも。
そういえばこの辺、オリジナルの Emacs では arc-mode や tar-mode がきちんと動くのに対して Mule だとコードをいじっているために動かなくなってるものが多いですが、仕方のないところでしょう。 Mule 用に書かれたものもあるらしいのですが、最近のバージョンでもきちんと動くものがあるかは調べてません。 最近、Mule の多国語の機能が Emacs に統合されましたが、このことで改善されると嬉しいなあ。
どうも 19.28 から 19.34 での途中で
write-region
の引数が変わったようで、
ちょいと変更が必要です。20.x でどうなったかはまだ確かめてません。
次のパッチ
jam-zcat-19.34.dif
を試してみて下さい。
もっとも最近の jam-zcat は試してないので、既に修正されているかもしれません。
(確かめてません。御免なさい。)