[Mew-dist 931] Re: attach

Shunichi GOTO gotoh at example.com
1997年 4月 25日 (金) 16:25:12 JST


後藤です

>>>>> From: tamura at example.com (SHINJI Tamura/田村 進司)

たむら> えーと、mew で、ファイルを添付する時、いちいち、Description を書くのが
たむら> 面倒なのと、マルチパートで来たメールのパートの部分をセーブする時に、
たむら> ファイル名を書くのが面倒だったので、こんなパッチを作って見ました。

いいですね。

この操作はおきまりの作業なので、「楽」ができます。


たむら> もっとうまい方法があるかも知れませんが、いかがなもんでしょうか?

これだと、CD: がないときにsubstringでエラーになってしまいますね。
それから、CT: に name="file.ext" パラメータがある時、これを使うような
仕様が嬉しいので、アイディアだけ拝借して、ちょっと改造してみました。
見苦しいコードを添付します。

田村さんのコードではなく、オリジナル(?)に対する差分です

p.s.
本当は Content-Disposition: の情報を取りたいのですが。。。
name= あたりはMewのポリシーを逸脱してしまう可能性も心配?
あと、漢字ファイル名は問題もあるかも知れないし、ややこしいので、
とりあえず何も考えず、デコードも行なわないようにしてます。

--- Regards,
 Shun-ichi Goto  <gotoh at example.com>

-------------- next part --------------
--- mew-summary.el.orig	Wed Apr 23 18:24:38 1997
+++ mew-summary.el	Fri Apr 25 16:10:22 1997
@@ -1718,6 +1718,24 @@
     (if (not (or msg part))
 	(message "No message or part here")
       (setq file (mew-input-filename))
+      (let* ((ent (mew-syntax-get-entry-strnum
+		   (mew-cache-decode-syntax
+		    (mew-current-get 'cache)) part))
+	     (ct (mew-syntax-get-ct ent))
+	     (cd (mew-syntax-get-cd ent))
+	     (fn nil))
+	;; check ct: name= parameter
+	(while (and (not fn) ct)
+	  (if (string-match "^name=\\(.*\\)" (car ct))
+	      (setq fn (mew-match 1 (car ct)))
+	    (setq ct (cdr ct))))
+	;; check cd: as filename
+	(if (and (not fn) cd)
+	    (setq fn cd))
+	(if (and fn (string-match "^\"\\(.*\\)\"$" fn))
+	    (setq fn (mew-match 1 fn)))
+	(setq file (mew-input-filename nil fn)))
+	
       (if (file-exists-p file)
 	  (if (null mew-file-append-p)
 	      (setq action "Overwrite")


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