[Mew-Win32 00196] Re: text/x-rot13-47-48

Hideyuki SHIRAI Shirai at example.com
1998年 2月 5日 (木) 18:56:47 JST


白井です。

白井> 私のx-rot13も、『ワクワク』度をあげるように変更することにしました。

というわけで、少しだけ『ワクワク』するようにしました。

# mew-distじゃ蹴られるのが目に見えているので、mew-win32限定です。
## またまた、パクリばかりです。m(__)m

相変わらず、mew-vars.elの最後で定義しています。

tmとSEMI両方で対応したつもりなんですが、どなたかSEMIで使ってみて
いただけませんか?

### tm-defから抜き出してしまえば、requireもいらないのですが、やっ
### ぱりそれはねぇ…

というわけで、とりあえず、x-rot13関連を出し直します。

### さすがに小関さんの[Mew-Win32 00193] Re: text/x-rot13-47-48は
### 対応できない ^^;;;

(setq mew-mime-content-type-text-list
      (append
       '("Text/X-Rot13-47-48")
       mew-mime-content-type-text-list))

(setq mew-mime-content-type-binary-list
      (append
       '("Image/Tiff")
      mew-mime-content-type-binary-list))

(setq mew-mime-content-type-list
      (append
       '("Text/X-Rot13-47-48"
	 "Image/Tiff")
       mew-mime-content-type-list))

(defvar mew-prog-xrot '(mew-mime-text/x-rot () nil))

(setq mew-mime-content-type
      (append
       '(("text/x-rot13.*" ".*\.xrot" nil mew-prog-xrot mew-icon-text)
	 ("image/tiff"  "\\.tif?f$" mew-b64 mew-prog-image mew-icon-image))
       mew-mime-content-type))

;; この前の部分がhookではうまくいかなかったのですが、なにか私は
;; いけないことをやっているのでしょうか? 

;; tm:caesar-region なら t、mule-caesar-region なら nil)
(defvar mew-summary-xrot-use-tm t)
(add-hook 'mew-summary-mode-hook
	  (lambda ()
	    (define-key mew-summary-mode-map "\C-cr" 'mew-summary-insert-xrot)))

(defun mew-mime-text/x-rot (begin end &optional params)
  (if (> end begin)
      (save-excursion
	(set-buffer (mew-buffer-message))
	(let ((buffer-read-only nil))
	  (insert " #     #         ######  ####### #######    #     #####\n"
		  "  #   #          #     # #     #    #      ##    #     #\n"
		  "   # #           #     # #     #    #     # #          #\n"
		  "    #     #####  ######  #     #    #       #     #####\n"
		  "   # #           #   #   #     #    #       #          #\n"
		  "  #   #          #    #  #     #    #       #    #     #\n"
		  " #     #         #     # #######    #     #####   #####\n"
		  "\n")
	  (insert "To save this part, type "
		  (substitute-command-keys
		   "\\<mew-summary-mode-map>\\[mew-summary-save].")
		  "\nTo display this part in Message mode, type "
		  (substitute-command-keys
		   "\\<mew-summary-mode-map>\\[mew-summary-insert-xrot]."))
	  (insert "\n-------------------- Original \"X-ROT13\" follows --------------------\n")
	  (insert-buffer-substring (mew-current-get 'cache) begin end)
	  (insert "--------------------------------------------------------------------\n")
	  ))))

(defun mew-summary-insert-xrot ()
  (interactive)
  (let* ((ofld-msg (mew-current-get 'message))
	 (msg (mew-summary-message-number))
	 (part (mew-summary-part-number))
	 (buf (buffer-name)))
    (if (or msg (not part))
	(let ((mew-analysis nil))
	  (mew-summary-display))
      (unwind-protect
	  (progn
	    (mew-summary-toggle-disp-msg 'on)
	    (mew-window-configure buf 'message)
	    (set-buffer (mew-buffer-message))
	    (let* ((buffer-read-only nil)
		   (syntax (mew-cache-decode-syntax (mew-cache-hit ofld-msg)))
		   (stx (mew-syntax-get-entry-strnum syntax part))
		   (begin (mew-syntax-get-begin stx))
		   (end (mew-syntax-get-end stx)))
	      (erase-buffer)
	      (insert-buffer-substring (mew-current-get 'cache) begin end)
	      (goto-char (point-min))
	      (if mew-summary-xrot-use-tm
		  (progn
		    (require 'tm-def)
		    (mark-whole-buffer)
		    (tm:caesar-region)
		    (goto-char (point-min)))
		(progn
		  (require 'mule-caesar)
		  (mule-caesar-region (point-min) (point-max))))
	      ))
	(pop-to-buffer buf)))
    ))
-------------- next part --------------
テキスト形式以外の添付ファイルを保管しました...
ファイル名: 無し
型:         text/x-rot13-47-48
サイズ:     20 バイト
説明:       確認用
URL:        <http://www.mew.org/pipermail/mew-win32/attachments/19980205/4c911d3d/attachment.bin>
-------------- next part --------------

-- 
+--------- 白井秀行 (Hideyuki Shirai) --------------+
 Organization: 松下電送(株) 技術研究所 第3研究室
       mailto: Shirai at example.com


Mew-win32 メーリングリストの案内