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

Re: Made all text properties non-sticky



>>>>> In [emacs-w3m : No.00862] 
>>>>>	Hideyuki SHIRAI (白井秀行) <shirai@rdmg.mgcs.mei.co.jp> wrote:

白井さん> XEmacs の
白井さん> '(list 'start-open t 'end-open t)
白井さん> に対応する FSF Emacs の property は

白井さん> '(list 'front-nonsticky t 'rear-nonsticky t)
白井さん> ではなくて、
白井さん> '(list 'front-sticky nil 'rear-nonsticky t)
白井さん> ではないかと思うのですが。。。(なんか勘違いしています?)

おお、ちゃんと検証して下さってありがとうございます。
えとですね、ぼくがやりたかったことは

(let ((buffer "*testing*")
      start)
  (pop-to-buffer buffer)
  (erase-buffer)
  (insert "  ")
  (setq start (point))
  (insert "NON_STICKY!")
  (add-text-properties
   start (point)
   (list 'face 'modeline
	 'front-nonsticky t 'rear-nonsticky t)))

でもって "NON_STICKY!" の両隣に後から文字を挿入しても modeline
の face を継承しないということで、いちおう目的は達成しています。
しかしここに実は余計なものがありまして、info によれば

By default, a text property is rear-sticky but not front-sticky;

なので、わざわざ front-sticky を無効化する必要は無いのでした。
一方 XEmacs のデフォルトは FSFmacs と逆でして、まことに天の邪鬼
な話ではあるのですが、こちらは end-open をいじる必要はありません。

以前に Elips あたりでこの話をしましたね。必要に迫られて info を
読んだり実験する毎に結論が違うような気もするんですが (^^;;)、
こと w3m に関しては次に commit するときのついでに、要らない方を
消しておこうと思います。(いや、comment するだけにしようかな...)

なお、デフォルトを信じて良いのは w3m のように閉じた世界の中だけ
で、他の何だかわからないものがこさえたテキストに後から操作を加え
る場合は、デフォルトのままになっているとは限らないことは言うまで
もありません。
-- 
Katsumi Yamaoka <yamaoka@jpl.org>