x-gzip64 なパートを Gnus で見る
先日の作業 (http://d.hatena.ne.jp/emacsjjj/20050621/p1) をやっている時に
のメールの x-gzip64 なパートを参照したくなった。だが Gnus ではそのままでは見れない。あーしてこーしてこーやって、とかやれば見れるのだが、やはりメールを開いた時点でドドーンとデコードされてると嬉しいので試行錯誤してみた。
x-gzip64 のデコードには http://cvs.m17n.org/elisp/FLIM/ の mel-g.el を使う。ついでに x-bzip-2-64 の対応もしておこうってことで、
をありがたく頂いてくる。で、こんなのを .gnus に加えてみた。
(defadvice mm-decode-content-transfer-encoding (around decode-x-gbzip64 (encoding &optional type) activate) (if (memq encoding '(x-gzip64 x-bzip-2-64)) (condition-case error (cond ((eq encoding 'x-gzip64) (unless (fboundp 'gzip64-external-encode-region) (require 'mel-g)) (gzip64-external-decode-region (point-min) (point-max)) t) ((eq encoding 'x-bzip-2-64) (unless (fboundp 'bzip2-64-external-encode-region) (require 'mel-zip)) (bzip2-64-external-encode-region (point-min) (point-max)) t)) (error (message "Error while decoding: %s" error) nil)) ad-do-it))
取り敢えず無事に動いている模様.