[Mew-Win32 01014] Re: mew-fake-cdpでfilename="日本語.XLS"が落ちない
Hideyuki SHIRAI ( 白井秀行 )
shirai at example.com
1998年 11月 10日 (火) 13:27:38 JST
こんにちは、白井です。
From: Takeshi Sawamura <sawamura at example.com> さん曰く
Subject: [Mew-Win32 01013] mew-fake-cdpでfilename="日本語.XLS"が落ちない
Message-ID: <19981110120659X.sawamura at example.com>
Date: Tue, 10 Nov 1998 12:06:59 +0900 (JST)
澤村> 初めまして、
初めまして。
澤村> 仕方がないので、読めないファイル名を文脈から適当にASCII化して、
澤村> 例えば、内容に手を加えて送り返す必要が有るときなどは、
澤村> 「勝手にファイル名を変えないでくれ」...T_T
澤村> という理不尽なお叱りに耐えてきました。
涙なしには読めませんでした。;_;
澤村> Content-Type: application/octet-stream; name="出張B.XLS"
澤村> Content-Transfer-Encoding: base64
澤村> Content-Disposition: attachment; filename="出張B.XLS"
生 JIS で filename が書いてあるのですね。私もいつからか読めないなぁ
と思っていたのですが、気にしていませんでした。^^;
どうやら、mew-syntax-get-member() が ESC を落とした値を返すように
なってしまったのですね。(知らなかった)
おもいっきり ad hoc + 無理やりですが、対応すると以下のパッチのよう
になります。
P.S.
昨日の Image/Tiff の話は、1.94b1 からですね。1.93 の人はほったらか
しにしてください。
--- mew-fake-cdp.el.orig Tue Nov 10 12:52:04 1998
+++ mew-fake-cdp.el Tue Nov 10 13:23:23 1998
@@ -69,9 +69,9 @@
;; 2. use CT: name=
;; 3. use CD: (optional)
(setq filename (or (and cdpl
- (mew-syntax-get-member cdpl "filename"))
+ (mew-fake-cdp-syntax-get-member cdpl "filename"))
(and mew-fake-cdp-use-ct ctl
- (mew-syntax-get-member ctl "name"))
+ (mew-fake-cdp-syntax-get-member ctl "name"))
(and mew-fake-cdp-use-cd
cd)))
(if (null filename)
@@ -117,6 +117,17 @@
)
;; return
syntax))
+
+(defun mew-fake-cdp-syntax-get-member (ctl member)
+ (let ((case-fold-search t)
+ (regex (concat "^" member "=\"?\\([^\"]*\\)\"?$"))
+ ret)
+ (catch 'loop
+ (while ctl
+ (if (string-match regex (car ctl))
+ (throw 'loop (setq ret (mew-match 1 (car ctl))))
+ (setq ctl (cdr ctl)))))
+ ret))
(provide 'mew-fake-cdp)
Mew-win32 メーリングリストの案内