[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: w3m-safe-url-regexp and w3m-safe-toggle-inline-image
>>>>> In [emacs-w3m : No.06511] 土屋さん wrote:
> ふと思い出したので,とりあえず覚え書き.
> 現在,w3m-safe-toggle-inline-image() は w3m-safe-url-regexp を参照せ
> ずに cid: という固定文字列を使っていますが,これはちょっと矛盾した仕
> 様ではないでしょうか.Gnus の場合は mm-w3m-safe-url-regexp, SEMI MUA
> の場合は mime-w3m-safe-url-regexp, Mew の場合は
> mew-w3m-safe-url-regexp をそれぞれ見る必要はありませんか?
> で,それぞれをきちんと見るのは大変なので,
面倒だなー、と思っていたところ、土屋さんが cid: の固定値でいいじゃ
ん、と助け船を出してくれた記憶がぼくの中にはあります。:)
> w3m-region() を呼び出す側が w3m-safe-url-regexp を let で束縛する代
> わりに,バッファローカル変数にすれば良いのではないかと思うんですが,
> どうでしょう?
それいいですねえ。きのう別の場面で同じことに気が付いたのは偶然で
はないような気が。w3m-safe-url-regexp だけを見るようにした
emacs-w3m を、未対応の MUA で使っても default-value が効くから、
問題は起きないですね。
Gnus の場合は mm-view.el の以下の部分を改造すれば良い感じです。
(let ((w3m-safe-url-regexp mm-w3m-safe-url-regexp)
w3m-force-redisplay)
(w3m-region (point-min) (point-max)))
↓
(set (make-local-variable 'w3m-safe-url-regexp)
mm-w3m-safe-url-regexp)
(let (w3m-force-redisplay)
(w3m-region (point-min) (point-max)))
Gnus の場合はいったん article バッファを作ったら、その後ずっと使
い回すから、最初にローカル変数を作っておけば良いかと言うとさにあ
らず、mm-w3m-safe-url-regexp の値が変更された場合に反映させなけ
ればいけません。それが上記の案の根拠です。
それから、マズいものを見つけてしまったんですが、たぶん
gnus-article-wash-html-with-w3m という関数[1] における
w3m-safe-url-regexp の値の操作 ↓ は大間違いですね。^^;;
(let ((w3m-safe-url-regexp (if mm-inline-text-html-with-images
nil
"\\`cid:"))
w3m-force-redisplay)
(w3m-region (point-min) (point-max)))
とりあえず以上の二つを作業しておきました。
[1] ボディは text/html なのにヘッダが間違っている場合などに
emacs-w3m で render させるための関数です。あまり使う機会は
無いでしょう。
--
Katsumi Yamaoka <yamaoka@jpl.org>
;; おとといくらいから Emacs 21.3.50 がよく落ちる。;_;