overlayp
Mikio Nakajima
minakaji @ osaka.email.ne.jp
2000年 1月 27日 (木) 20:58:48 JST
At Thu, 27 Jan 2000 14:56:02 +0900,
okada @ opaopa.org wrote:
> poe-xemacs.elで
> (defalias 'overlayp 'extentp)
> とされているにもかかわらず,
>
> (defun skk-detach-extent (object)
> (static-cond
> ((eq skk-emacs-type 'xemacs)
> (and (extentp object) (detach-extent object)))
> (t
> (and (overlayp object) (delete-overlay object)))))
>
> とあるのは,何か意図があるのでしょうか?
extentp に alias が張られるのは overlay.el の require に失敗した場合
だけですよね? overlay.el が require できる場合は、overlay-* は、単な
る extent 関数群への alias ではなく、もう少し複雑な仕事をしています。
ぼくも詳しく説明できる程理解していませんが、XEmacs の extent と FSF
Emacs の overlay とは異なる実装のようで、XEmacs の fsf-compat パッケー
ジに含まれる overlay.el はこの実装の差異を埋めてできるだけ overlay に
近くなるような関数群が提供されています。
一方、SKK では変換候補に face を一瞬掛けて確定後に消す、という単純な作
業しかしておらず、overlay の実装に忠実である必要はなく、extent のみで
十分代用できるので、extent が利用できる場合 (XEmacs) では overlay.el
を利用せずに直接 extent を利用しています。
> xemacsを場合分けするなら,nemacsもと思ってしまいます.
NEmacs の場合は overlay/extent ともに利用できないので、
skk-detach-extent にダミー関数を定義するよりは、素直に skk-use-face を
nil にして、仮に skk-use-face を non-nil に設定している場合でも、APEL
がダミー定義の overlayp を提供していて、これによりエラーを回避できる、
とした方が素直な実装/設定だと思いますが、いかがでしょうか?
> ;; どうせなら,apelにoverlaypを入れてしまえば,
上記のような訳ですので、APEL には是非 overlayp を入れましょう。
--
中島幹夫 <minakaji @ osaka.email.ne.jp>
<minakaji @ pdx.ne.jp> (急ぎのときはこちらへ)
http://www.asahi-net.or.jp/~gy2m-nkjm/
More information about the APEL-ja
mailing list