[Date Prev][Date Next][Thread Prev][][Date Index][Thread Index]

multipart/related (Re: encapsulate shimbun article)



いちおう、Cc: emacs-mime-ja しときます。

>>>>> <m34rtmanvr.wl@ari.mbf.sphere.ne.jp> にて、
>>>>> "ari" = <ari@mbf.sphere.ne.jp> さんは書きました:

寺> しかし、SEMI だと multipart/related なのに
寺> 最初のパート以外もインライン画像として表示されてしまいます。
寺> どうにかならないものでしょうか。

ari> (defun mime-display-multipart/related (entity situation)
ari>   (let* ((children (mime-entity-children entity))
ari> 	 (start (car children)) ;; FIXME (see RFC2387)
ari> 	 (original-major-mode-cell (assq 'major-mode situation))
ari> 	 (default-situation (cdr (assq 'childrens-situation situation))))
ari>     (if original-major-mode-cell
ari> 	(setq default-situation
ari> 	      (cons original-major-mode-cell default-situation)))
ari>     (mime-display-entity start nil default-situation)))

ari> (ctree-set-calist-strictly
ari>  'mime-preview-condition
ari>  '((type . multipart)(subtype . related)
ari>    (body . visible)
ari>    (body-presentation-method . mime-display-multipart/related)))

ari> でどうでしょうか。

できました。
ありがとうございます。

ari> ;; 本当は、start パラメータで cid が指定されていたら、そのパートがルー
ari> ;; トとなるようですが、とりあえず手抜き(^^;

こんなかんじですかね。

(defun mime-display-multipart/related (entity situation)
  (let* ((param-start (mime-parse-msg-id
		       (std11-lexical-analyze
			(cdr (assoc "start"
				    (mime-content-type-parameters
				     (mime-entity-content-type entity)))))))
	 (start (or (and param-start (mime-find-entity-from-content-id
				      param-start
				      entity))
		    (car (mime-entity-children entity))))
	 (original-major-mode-cell (assq 'major-mode situation))
	 (default-situation (cdr (assq 'childrens-situation situation))))
    (if original-major-mode-cell
	(setq default-situation
	      (cons original-major-mode-cell default-situation)))
    (mime-display-entity start nil default-situation)))

--
Yuuichi Teranishi (寺西裕一) <teranisi@gohome.org>
PGP 5.0i Public Key: http://www.gohome.org/pgp5/teranisi.key
"The movement you need is on your shoulder..."