mime-uri-parse-cid depends on mime-field-parser-alist's default

Kazuhiro Ito kzhr @ d1.dion.ne.jp
2010年 11月 13日 (土) 17:18:05 JST


伊藤です。

FLIM の mime-uri-parse-cid() は、 mime-parse-msg-id() を
利用するようにハードコードされています。
これを、例えば以下のように、 mime-entity-read-field() と同様に
mime-field-parser-alist の値を見るようにして欲しいのですが
いかがでしょうか。

(defun mime-uri-parse-cid (string)
  "Parse STRING as cid URI."
  (when (string-match "^cid:" string)
    (setq string (concat "<" (substring string 4) ">"))
    (let ((parser (cdr (assq 'Content-Id mime-field-parser-alist))))
      (if parser
	  (funcall parser (eword-lexical-analyze string))
	(mime-decode-field-body string 'Content-Id 'plain)))))

大本の問題は、Wanderlust + emacs-w3m で、 docomo の携帯電話から
送信されるHTMLメール (デコメール?) の画像が表示されないことでした。
(古いメールしかないので、今もそうなのかは知りません。)
この画像は、Content-Id: に指定されている値が正しくない (複数の '@' を
含んでいるが quote されていない) 為にそのままでは表示されません。
表示させるために mime-field-parser-alist から Content-Id のエントリを
削ったのですが、mime-uri-parse-cid() の出力が変わらないままだったので
問題に気付きました。

-- 
伊藤 和博(Kazuhiro Ito)






More information about the Emacs-mime-ja mailing list