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

Re: XEmacs で画像が消えてしまう (was Re: endless loop inw3m-process-with-wait-handler)



At Thu, 22 Nov 2001 01:24:18 +0900,
ARISAWA Akihiro wrote:
> 
> 例えば、async ではなくとも以下のようにすると画像が正しく表示されません。
> 1. [image1][image2] と2つの画像を並んでいるページを
>    w3m-display-inline-images が nil の状態で表示する。
> 2. 右側の画像 image2 を t (w3m-toggle-inline-image) で表示する。
> 3. 左側の画像 image1 を t で表示する。
>    => image1 が表示されない。
> 
> async でなければ T (w3m-toggle-inline-images) をした時に必ず
> image1 → image2 の順で表示されていたのが、async では順不同なため
> 問題が表面化したのではないかと思います。
> ;; 一度取り込んでから、2回トグルさせるとキャッシュを使うので
> ;; 頭から表示されて問題なかったのでしょう。

中途半端な対応しかしてなくて、すみません。

w3m-xmas では、例えば img という文字列を画像に置き換えるのに、
バッファ上の img という文字列部分に extent をつくって invisible とし、
end-glyph に画像を置いています。

この場合、隣接した画像があると、例えば、

img1img2

だと、img1 を表示したあと、img2 の部分に extent をつくって、invisible に
した地点で img1 の部分の end-glyph がなぜか消えてしまいます。
これを回避するために、img2 を表示する時点で、img2 の開始部分に画像があったら、
それを img2 をinvisible にする前に保存しておいて、img2 の end-glyph 
を置くときに保存しておいた画像もいっしょに置くようにしています。

画像を前から順番に表示する場合はこれでうまくいくのですが、
t や async のように画像表示の順番が変わる場合、うまくいきません。

XEmacs の場合だけ画像が隣接するときはは空白文字を入れるというのも
手だとおもいますが、
そもそもこんなことをしないと隣接した画像を表示することができないというのも
おかしな気もします。

どなたか、こんなことをしなくても XEmacs で隣接した画像を表示できるよ、
というのを教えていただけるとありがたいです。

Emacs のように文字列を画像に置き換えるモデルのほうが
やりやすいなあと思う今日このごろです。

--
Yuuichi Teranishi (寺西裕一) <teranisi@gohome.org>
PGP 5.0i Public Key: http://www.gohome.org/pgp5/teranisi.key
"I just want to live while I'm alive..."