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

Re: emacs-w3m underlines everything and mixes up URLs (new w3m-0.5?)



>>>>> In [emacs-w3m : No.06579] 
>>>>>	Masatake YAMATO <jet@gyve.org> wrote:

> はい。現在markerで実装されているregisterをmarkerで実装すると便利であ
> るということをemacs-develでやっているうちにoverlayにバグあることに気
> 付きました。御指摘の通り overlay-startとoverlay-endが逆転する場合があ
> ります。直したつもりですが、まだ完全に直しきっていません。

ごめんなさい、まだ途中だったのですね。今のところ先端の emacs-w3m
では問題無いです。ただ、ぼくはまだ遭遇していないのですが、Gnus
と VM でも何か起きているようで、おそらく emacs-w3m と同様に無用
な overlay が残っているためなのでしょう。

> またそれに関連してRMSはoverlay-startとoverlay-endが逆転するような場合、
> overlay-startとoverlay-endを入れかえるのではなくて、overlayを空((eq
> overlay-end overlay-start) => t)にするよう直せという指示も私に出して
> ます。というのが背景でしょうか。

了解です。デフォルトが evaporate=t だったら良かった、いや、単に
問題が隠蔽されてしまうだけか...、よくわかりませんが。

> 今のところ私がバグを入れたのか、既存のelispが間違ったemacsのoverlayの
> 実装に依存していたのか不明です。とにかく、今後overlay-startと
> overlay-end が反転してしまうことがないようにemacs-develにて私は努力し
> ます。

よろしくお願いします。

> 従ってoverlay-startとoverlay-endが逆転することを想定して書いたコード
> は動かなくなる可能性があります。

それは心配しなくてよい気がしますね。:)

> 前のメールで書きましたevaporateの使いかたです。
> (overlay-put (widget-get w :button-overlay) 'evaporate t)
> としてやれば、長さ0のoverlayが自動的に消えます。

なるほど、それは widget button の側でやるべきかもしれませんね。
後日提案してみましょう。

> 明日、emacs-develとemacs-w3mのアーカイブを読んで、問題を理解したいと
> 思います。emacs, emacs-w3m、それぞれどっちをどうすべきか、調べたいと
> 思います。

emacs-w3m でぼくが行なったことは、バッファを空にして新たにテキス
トを挿入する前に、単に

(dolist (overlay (overlays-in (point-min) (point-max)))
  (delete-overlay overlay))

ということを行なっただけです。そのときは忘れていたんですが、こん
なことをするよりは大和さんがおっしゃるようにあらかじめ evaporate
を指定しておいた方が賢いでしょう。

;; 実は w3m-momentary-overlay というのは不要なのか?  後で調べな
;; くちゃ。
-- 
山岡@やぼ用のため現在自宅