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

Re: file を html として開く方法



>>>>> In [emacs-w3m : No.09939] 中山さん wrote:

> メールの text/html パートのフォームを操作したい場合など、
> .mailcap で firefox 開かせていたんですが、それもなんなの
> で、添付のようにして mime-w3m から w3m へファイルを渡して
> 開かせようとしてみました。ところがこれだとhtmlとしてレンダ
> リングされません。
> こういうときはどうするのがよいでしょうか。

> +(defun mime-w3m-view-text/html (entity cal)
[...]
> +    (w3m-find-file name))); XXX: will not be rendered

この場合は通常 `w3m-local-find-file-function' 変数に設定された関
数 (デフォルトでは find-file 系の関数) が呼ばれてしまいますね。
じゃあ `w3m-local-find-file-function' を nil に束縛してしまえば
良いかというと、これもあまり良い挙動になりません。`w3m-find-file'
にしろ `w3m-goto-url' にしろ、引数などで content type を指定でき
るように改良する必要があるでしょう。

でも、とりあえずそれは棚上げにして、こんなのではどうですか?

(defun mime-w3m-view-text/html (entity cal)
  (let ((coding (mime-charset-to-coding-system
		 (cdr (assoc "charset" (mime-entity-parameters entity)))))
	(inhibit-read-only t))
    (w3m "about:blank" t)
    (insert (decode-coding-string (mime-entity-content entity) coding))
    (w3m-buffer)
    (set-buffer-modified-p nil)))

;; (w3m "about:blank" t) の辺りが安易すぎる気もしますが。;-p
-- 
山岡