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

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



なかやまです
お返事ありがとうございます。

At Mon, 21 Jan 2008 11:05:02 +0900,
Katsumi Yamaoka wrote:
> 
> >>>>> 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 を指定でき
> るように改良する必要があるでしょう。

前のメールを出した直後に
  "opening local files with arbitrary extensions as HTML"
のスレッドの山岡さんのメールを読んで、w3m-local-find-file-function
をいじっていたのですが、結局 content type を渡さないといけなさそう
だなーというところで止まっていました。現状の構造だと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

mime-w3m.el に取り込むにはためらわれます。
添付する差分でよさそうに思っていますが、問題になりそうな
点はありますでしょうか。
-- 
Yoichi NAKAYAMA

Attachment: mime-w3m.el.diff
Description: Binary data