[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: emacs-w3m underlines everything andmixes up URLs (new w3m-0.5?)
skkの準備ができました。
> に変えてみると、終了点より開始点が大きい overlay が観測されます。
> これが、以前の Emacs では overlay は存在しても表示には影響しない
> 理由なんでしょうか。そういうお話を emacs-devel でなさってました
> よね。
はい。現在markerで実装されているregisterをmarkerで実装すると便利である
ということをemacs-develでやっているうちにoverlayにバグあることに気付
きました。御指摘の通り overlay-startとoverlay-endが逆転する場合があります。
直したつもりですが、まだ完全に直しきっていません。またそれに関連してRMSは
overlay-startとoverlay-endが逆転するような場合、overlay-startとoverlay-endを
入れかえるのではなくて、overlayを空((eq overlay-end overlay-start) => 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が自動的に消えます。
(let ((buffer (get-buffer-create "*testing*"))
(widget-button-face 'mode-line)
(pop-up-windows t)
pop-up-frames overlay)
(pop-to-buffer buffer)
(erase-buffer)
(mapcar 'delete-overlay (overlays-in (point-min) (point-max)))
(insert "foo")
(let ((w (widget-convert-button 'push-button (point-min) (point-max))))
(overlay-put (widget-get w :button-overlay) 'evaporate t)
)
(erase-buffer)
(setq overlay (car (overlays-in (point-min) (point-max))))
(prog1
(and overlay
(pp-to-string (overlay-properties overlay)))
(insert "bar")))
明日、emacs-develとemacs-w3mのアーカイブを読んで、問題を理解したいと思
います。emacs, emacs-w3m、それぞれどっちをどうすべきか、調べたいと思い
ます。
みなさんには御迷惑をおかけしますが、今しばらく時間を下さい。
大和
p.s. 「project管理」は入っているけど、gccもcvsもw3mもないのか...