mule-caesar

Katsumi Yamaoka <[email protected]> Fri, 30 Nov 2007 08:30:47 +0900
Newsgroups gmane.emacs.gnus.semi.japanese
Organization Emacsen advocacy group
Message-ID <[email protected]>
某所で流れていた text/x-rot13-47-48 パートを Gnus でデコードする
ための道具です。APEL がインストールされている必要があります。

(eval-after-load "mm-decode"
  '(add-to-list 'mm-inline-media-tests
		'("text/x-rot13-47-48"
		  (lambda (handle)
		    (require 'mule-caesar)
		    (mm-inline-text handle)
		    (mule-caesar-region (point-min) (point-max)))
		  identity)))

これを ~/.gnus.el に書いておいて text/x-rot13-47-48 パートの MIME
ボタン上で RET を 2回たたいて下さい。
(unnamed) (text/x-rot13-47-48, 497 B)
囑佰霹釡圄林蚋圄囓嘯咯觧囑 Z-k zhyr-pnrfne-ertvba 嚠喙嚀噐囮嗷
唹嚴嗷侑ZZY 夥壥喘τ獏紗嘴圄泣灑嚴啣囹圉燎瘠喘囗嗾嚶侑

(let ((text (assoc "text" mailcap-mime-data))
      caesar)
  (while (setq caesar (assoc "x-rot13-47-48" text))
    (delq caesar text))
  (setcdr text
	  (cons '("x-rot13-47-48"
		  (viewer . mule-caesar-region)
		  (test . (condition-case nil
			      (require 'mule-caesar)
			    (error nil)))
		  (type . "text/x-rot13-47-48"))
		(cdr text))))