[mew-dist 24562] Re: highlight-summary patch

Hideyuki SHIRAI ( 白井秀行 ) shirai at example.com
2004年 2月 10日 (火) 13:54:47 JST


From: Shun-ichi TAHARA (田原 俊一) <jado at example.com> さん曰く
Subject: [mew-dist 24560] Re: highlight-summary patch
Message-ID: <20040210.120448.466663207.z1980163 at example.com>
Date: Tue, 10 Feb 2004 12:04:48 +0900 (JST)

----------- *scratch* ------------
;;;;;
(defvar test-ovl-no-evaporate nil)
(defvar test-ovl-evaporate nil)

;; (1)
(let ()
  (setq test-ovl-no-evaporate (make-overlay (point-min) (1+ (point-min))))
  (overlay-put test-ovl-no-evaporate 'before-string "NO-EVAPORATE")
  (delete-overlay test-ovl-no-evaporate)
  test-ovl-no-evaporate)
#<overlay in no buffer>

;; (2)
(let ()
  (setq test-ovl-evaporate (make-overlay (point-min) (1+ (point-min))))
  (overlay-put test-ovl-evaporate 'before-string "EVAPORATE")
  (overlay-put test-ovl-evaporate 'evaporate t)
  (delete-overlay test-ovl-evaporate)
  test-ovl-evaporate)
#<overlay in no buffer>

(1) と (2) は違いがありませんが、

;; (3)
(let ()
  (setq test-ovl-no-evaporate (make-overlay (point-min) (1+ (point-min))))
  (overlay-put test-ovl-no-evaporate 'before-string "NO-EVAPORATE")
  (delete-region (point-min) (1+ (point-min)))
  test-ovl-no-evaporate)
#<overlay from 1 to 1 in zzz.el>

;; (4)
(let ()
  (setq test-ovl-evaporate (make-overlay (point-min) (1+ (point-min))))
  (overlay-put test-ovl-evaporate 'before-string "EVAPORATE")
  (overlay-put test-ovl-evaporate 'evaporate t)
  (delete-region (point-min) (1+ (point-min)))
  test-ovl-evaporate)
#<overlay in no buffer>

(3) は overlay の before-string も残っています。本質的な問題じゃ
ないのでどうでも良いのですが、evaporate はぼくの overlay に対す
る強迫観念(ぜったいちゃんと消さなきゃ)を和らげてくれた偉大な
property なのでした。

XEmacs の extent って全然わかっていないので (3) の消し方しちゃっ
て良いのか不明(気にしていないけど)。
#<extent *[detached)  ってなるから、よいのかな?

なので、

> ・evaporate=nil の時に下のテキストが消えた場合
 やっちゃだめ。

> ・evaporate=t の時に下のテキストが消えた場合
 気にしないで良い。

> ・delete-overlay した場合
 問題なし。

> の、オーバレイの扱いの違いについてなんです。

ということになります。

-- 
白井秀行@鯉江さんに教えて貰ったの。



Mew-dist メーリングリストの案内