[Mew-dist 16897] Image/*とMessage/*のContent-Dispositionはinlineにしたい
Ryutaroh Matsumoto
ryutaroh at example.com
2001年 3月 20日 (火) 21:34:09 JST
Content-Dispositionヘッダーの値の意味は
inline 自動的に表示
attachment ユーザーが要求するまで表示しない
無し メールリーダーのデフォルトの取り扱い
であるとRFC 2183に書いてありました。そこでContent-TypeがImage/*と
Message/*の場合はContent-Dispositionをinlineにしたいと思いました。
Content-Dispositionがinlineかattachmentかは変数
mew-content-disposition-inline-listで制御されますが、この変数の中身は
正規表現でなく文字列として扱われるので、正規表現として扱われるようにす
るパッチを作ってみました。
またこの変更だけだと
(setq mew-content-disposition-inline-list '("Text/.*" "Image/.*"
"Message/.*"))
と書いてもmew-summary-forwardでメールを転送するときに転送されるメールに
Content-Dispositionヘッダーが付かないのでそれを付けるような変更も以下
のパッチに含めています。
上に述べた変更だけだとMessage/Rfc822のパートにContent-Dispositionを付
けるとContent-Disposition: inline; filename=1823 のようにあまり意味の
無いファイル名が付きます。このようなファイル名は付けないほうがよさそう
なのでmew-content-disposition-no-filename-list という変数を新設し、そ
こに含まれるContent-Typeにはfilenameパラメータを含めないようにしていま
す。
無修正のMew 1.95b115へのパッチです。
松本 隆太郎
-------------- next part --------------
diff -ru mew-1.95b115/mew-syntax.el mew-1.95b115-cdp/mew-syntax.el
--- mew-1.95b115/mew-syntax.el Sun Mar 4 13:30:37 2001
+++ mew-1.95b115-cdp/mew-syntax.el Tue Mar 20 21:22:04 2001
@@ -150,9 +150,12 @@
(defun mew-syntax-cdp-format (file ct)
(when file
(setq file (mew-header-sanity-check-string file))
- (if (mew-member-case-equal ct mew-content-disposition-inline-list)
- (list "inline" (list "filename" file))
- (list "attachment" (list "filename" file)))))
+ (cons
+ (if (mew-member-match ct mew-content-disposition-inline-list t)
+ "inline"
+ "attachment")
+ (if (not (mew-member-match ct mew-content-disposition-no-filename-list t))
+ (list (list "filename" file))))))
;; Encryption
@@ -379,7 +382,7 @@
(let ((i 1) (ret))
(while (<= i n)
(setq ret (vconcat ret (list (mew-encode-syntax-single
- (int-to-string i)))))
+ (int-to-string i) nil nil nil nil t))))
(setq i (1+ i)))
(vconcat (mew-encode-syntax-multi dir mew-type-mlm)
(list (mew-encode-syntax-single mew-draft-coverpage
diff -ru mew-1.95b115/mew-vars.el mew-1.95b115-cdp/mew-vars.el
--- mew-1.95b115/mew-vars.el Tue Mar 20 05:55:38 2001
+++ mew-1.95b115-cdp/mew-vars.el Tue Mar 20 21:17:54 2001
@@ -1326,10 +1326,21 @@
:group 'mew-draft
:type 'boolean)
-(defvar mew-content-disposition-inline-list '("Text/Plain")
- "*A list of Content-Type:. If Content-Type: of an attachment matches
-this, \"inline\" is selected for the value of Content-Disposition:.
-Otherwise \"attachment\" is chosen.")
+(defcustom mew-content-disposition-inline-list '("Text/Plain")
+ "*A list of regular expressions for Content-Type:. If Content-Type:
+of an attachment matches this, \"inline\" is selected for the value of
+Content-Disposition:. Otherwise \"attachment\" is chosen."
+ :group 'mew-draft
+ :type '(repeat regexp))
+
+(defcustom mew-content-disposition-no-filename-list
+ '("Message/.*" "Multipart/.*")
+ "*A list of regular expressions for Content-Type:. If Content-Type:
+of an attachment matches this, the \"filename\" parameter is not
+included in Content-Disposition:."
+ :group 'mew-draft
+ :type '(repeat regexp))
+
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;
Mew-dist メーリングリストの案内