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

[xyzzy:00005] menu 拡張



亀井さん赤塚さん、こんにちは。

http://www.netlaputa.ne.jp/~henmi/lisp/xyzzy/etc

に例のコーディングメニューの追加の新バージョンを公開しました。

今回のバージョンは「コーディングメニューの追加」だけに的をしぼり

キーバインディングの変更等、ユーザの好みに合わないようなものを一切
含まないようにしたこと。また、siteinit.lか.xyzzyに1行書くだけでOKに
したことです。
xyzzyのhtml-modeやCモードにhookをつかって、こそっと忍びこみます。^^;

====================================================
ここから亀井さんに質問なんですが、

kh-menu.lに以下のような書き方をしています。

(setq *html-mode-hook* '(html-mode-addin))

;(pushnew 'html-mode-addin *html-mode-hook*)  --- うまくいかないので調査中


しかしユーザのhookを(setq *html-mode-hook* '(html-mode-addin))でつぶして
しまうのも気の毒だなぁと思い(pushnew 'html-mode-addin *html-mode-hook*)
にしようと思ったのですが、エラーになります。
調べてみるとhtml-mode等は必要になってから、ロードされるので
siteinit.lから(pushnew 'html-mode-addin *html-mode-hook*)が呼び出された
瞬間にはまだ*html-mode-hook*が、できていないみたいなんです。
この後,html-mode等がロードされたときに、

(export '(*html-mode-hook* *html-mode-map* html-mode *html-keyword-file*))
と
(defvar *html-mode-hook* nil)
が、実行されますが、defvarは既に変数に値が入っていると、上書きしないので、
OKなのかなぁ?


・・・という状況なのですが、hookの上手い書き方を教えてください。


------------------------------------------------------------
逸見雅人        Email   henmi@xxxxxxxxxxxxx
Masahito Henmi

Index Home