[mew-dist 26352] Re: C-cC-e

Hideyuki SHIRAI ( 白井秀行 ) shirai at example.com
2005年 5月 25日 (水) 17:12:52 JST


白井です。

# 間が空いてしまいました (_ _)

From: Kazu Yamamoto (山本和彦) <kazu at example.com> さん曰く
Subject: [mew-dist 26347] Re: C-cC-e
Message-ID: <20050524.113951.241275272.kazu at example.com>
Date: Tue, 24 May 2005 11:39:51 +0900 (JST)

> 白井さんの不満は、コマンドだとこういうことができるのに、関数ではどうし
> てできないのか、ということですね。

おぉ、自分でも気付いていなかったかも。するどい。

> (nil func)
> 	(1) C-cC-e しろと表示
> 	(2) この関数を呼ぶ

このときの表示があまりにも寂しいので、これぐらいはやってくださる
とうれしいです。app/oct のときにも CD を出すようにしています。
(パッチ付属)

From: Kazu Yamamoto (山本和彦) <kazu at example.com> さん曰く
Subject: [mew-dist 26349] Re: C-cC-e
Message-ID: <20050524.132141.267407109.kazu at example.com>
Date: Tue, 24 May 2005 13:21:41 +0900 (JST)

> これは、困っていて議論しているのかと思っていましたが、困っていないよう
> なので、実現できていませんが忘れることにします。

過去、どういうときに困った(昔の C-cC-t を使った)かを思い出してい
たのですが、二つほど思い出しました。

(a) Image/Jpg などというふざけた CT をつけてきたけど、inline で
    見たいので、Image/Jpeg を指定した。
(b) GIF (拡張子も gif)なのに Image/Jpeg だったので、Image/Gif を
    指定した。

ともにスーパレアケース(SPAM だったような気がする)なので、ぼくも
忘れることにします。

-- 
白井秀行 (mailto:shirai at example.com)

Index: mew-mime.el
===================================================================
RCS file: /cvsmew/mew/mew-mime.el,v
retrieving revision 1.79
diff -u -r1.79 mew-mime.el
--- mew-mime.el	24 May 2005 02:35:05 -0000	1.79
+++ mew-mime.el	25 May 2005 08:04:58 -0000
@@ -74,14 +74,14 @@
       (setq program (nth 0 program)))
     (cond
      ((null program)
-      (mew-mime-part-messages func2))
+      (mew-mime-function func2 cache begin end ct cte cd fname))
      ((symbolp program)
       (when (fboundp program)
 	(cond
 	 ((eq program 'mew-mime-message/rfc822)
 	  (funcall program cache syntax)) ;; for recursive MIME
 	 ((eq program 'mew-mime-application/octet-stream)
-	  (funcall program cache begin end params ct cte fname))
+	  (funcall program cache begin end params ct cte cd fname))
 	 ((mew-ct-imagep ct)
 	  (funcall program cache begin end params fname ct cte))
 	 (t
@@ -104,6 +104,24 @@
       (insert "\n")
       (mew-mime-part-messages t)))))
 
+(defun mew-mime-function (func cache begin end &optional ct cte cd fname)
+  (insert " ####### #     # #     #  #####  #######   ###   ####### #     #\n"
+	  " #       #     # ##    # #     #    #       #    #     # ##    #\n"
+	  " #       #     # # #   # #          #       #    #     # # #   #\n"
+	  " #####   #     # #  #  # #          #       #    #     # #  #  #\n"
+	  " #       #     # #   # # #          #       #    #     # #   # #\n"
+	  " #       #     # #    ## #     #    #       #    #     # #    ##\n"
+	  " #        #####  #     #  #####     #      ###   ####### #     #\n"
+	  "\n\n")
+  (mew-insert "Content-Type:\t%s\n" ct)
+  (mew-insert "Encoding:\t%s\n" cte)
+  (mew-insert "Size:\t\t%d bytes\n" (mew-region-bytes begin end cache))
+  (mew-insert "Filename:\t%s\n" fname)
+  (mew-insert "Description:\t%s\n" cd)
+  (mew-insert "Function:\t%s\n" func)
+  (insert "\n")
+  (mew-mime-part-messages func))
+
 (defun mew-mime-part-messages (prog)
   (cond
    ((and prog (fboundp prog))
@@ -500,7 +518,7 @@
 ;;; Application/Octet-Stream
 ;;;
 
-(defun mew-mime-application/octet-stream (cache begin end &optional params ct cte fl)
+(defun mew-mime-application/octet-stream (cache begin end &optional params ct cte cd fl)
   (insert " ######    ###   #     #    #    ######  #     #\n"
 	  " #     #    #    ##    #   # #   #     #  #   #\n"
 	  " #     #    #    # #   #  #   #  #     #   # #\n"
@@ -517,6 +535,7 @@
      (mapconcat (lambda (x) (concat (nth 0 x) "=" (nth 1 x))) params ", ")))
   (mew-insert "Size:\t\t%d bytes\n" (mew-region-bytes begin end cache))
   (mew-insert "Filename:\t%s\n" fl)
+  (mew-insert "Description:\t%s\n" cd)
   (mew-insert-manual
    "\nTo specify appropriate Content-Type: \n"
    "and execute an internal/external function/command, "



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