jam-zcat について

jam-zcat って何?

資源の少ないマシンでは、日頃あまり使わないファイルは 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 されたファイルを読み書きするものもありますが、これは大きなものを読み込むと酷い目にあったりするかもしれないので、あんまりお薦めしません。 ファイルを壊しても責任持てませんし。

Info との関係

元々 Emacs についてる info.el では jka-compr.el の方は考慮されているものの、 jam-zcat.el は考慮されてません。そのため圧縮された Info を読む場合に不都合がおきます。 neumann では site-lisp に書き換えた info.el(c) を置いてあるので問題ないと思いますが、他の環境で使う場合には、 info.elinfo-jamzcat.dif というパッチを当てると良いでしょう。

igrep.el との関係

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.34 base の Mule-2.3 で使う場合の変更点

どうも 19.28 から 19.34 での途中で write-region の引数が変わったようで、 ちょいと変更が必要です。20.x でどうなったかはまだ確かめてません。 次のパッチ jam-zcat-19.34.dif を試してみて下さい。 もっとも最近の jam-zcat は試してないので、既に修正されているかもしれません。 (確かめてません。御免なさい。)


[Mule のページに戻る]