[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: pages with many images slow
- From: Hideyuki SHIRAI (白井秀行) <shirai@xxxxxxxxxxx>
- Date: Sat, 31 Jan 2009 16:33:53 +0900 (JST)
- X-ml-name: emacs-w3m
- X-mail-count: 10655
- References: <871vutozvb.fsf@xxxxxxxxxxxxxxxx> <b4mvds2bvpw.fsf@xxxxxxx> <87mydelbxf.fsf@xxxxxxxxxxxxxxxx> <b4mr62qigu1.fsf@xxxxxxx> <87ocxuja5o.fsf@xxxxxxxxxxxxxxxx>
白井です。
# 開き直って最初から日本語。
From: Naohiro Aota <naota@xxxxxxxxx> さん曰く
Subject: [emacs-w3m:10639] Re: pages with many images slow
Message-ID: <87ocxuja5o.fsf@xxxxxxxxxxxxxxxx>
Date: Tue, 27 Jan 2009 01:37:39 +0900
> To be exact, emacs-w3m waits for retrieving process creating or image
> size conversion (if cached and need to resize). Anyway, I changed the
> code to use the idle-timer system only when all the following conditions
> are met.
>
> 1. the image is remote one
> 2. emacs-w3m doesn't have cache of the image
> 3. emacs-w3m doesn't need to resize the image
>
> Now, I think the code is good enough to be tested in emacs-w3m CVS. If
> there is no objection, I'll commit the code in the CVS.
一点不味いところを見つけました。Mew で text/html のパートを表示
するときの話ですが、他の MUA も同じじゃないかな?
従来は Mew + w3m の設定で (setq mew-w3m-auto-insert-image t)
とすると、text/html のパート内部のうち、mew-w3m-safe-url-regexp
で示された "\\`cid:" だけを自動的に表示して、外部にアクセスする
画像データは取得しに行きませんでした。
が、現在は同時に取得しに行ってしまいます。ちょっとまずい。
Mew だと↓のように w3m-region() を呼ぶわけなので、w3m-region()
には、w3m-safe-url-regexp が効いていて外部にはアクセスしなかった
のですが、現状では、timer で遅れて起動されるので、その時に呼ばれ
た w3m-image() => w3m-retrieve() ではすでに w3m-safe-url-regexp
が nil となっていてガードが効かない、ということだと思います。
(let ((w3m-display-inline-images mew-w3m-auto-insert-image)
(w3m-safe-url-regexp (when mew-w3m-use-safe-url-regexp
mew-w3m-safe-url-regexp))
.....
w3m-force-redisplay ;; don't redraw
charset wcs xref
cache begin end params execute)
(w3m-region (point)
(progn (insert-buffer-substring cache begin end)
(point))
xref))))
メインルーチンの方で直すなら、現状「変数 w3m-safe-url-regexp」だ
けをみているところを「プロパティ w3m-safe-url-regexp」も見るよう
にすれば大丈夫だと思います。画像の delay 表示側で対応するより、
その方が素直かも。
--
白井秀行 (mailto:shirai@xxxxxxxxxxx)