[xyzzy:08116] Re: ユーザーごとの設定ファイルとか (/usr/)
- Subject: [xyzzy:08116] Re: ユーザーごとの設定ファイルとか (/usr/)
- From: OHKUBO Hiroshi <konata_o@xxxxxxxxxxx>
- X-mailer: EdMax Ver2.84.5F
nha-candyさん、こんにちは。 OHKUBO Hiroshi です。
2002年2月23日(土)[14:09:45]の、
[xyzzy:08115] ユーザーごとの設定ファイルとか(/usr/)
への返事です。
> 能についてなんですが、自分の不注意でsiteinit.lへの記述を間違って、
> xyzzyを再起動したら、ツールバーがすべて消えて表示からツールバーを
> 追加しようとしてもメニューの文字が選択できない状態のグレー色にな
> っていて途方に暮れていました。xyzzy.w2kやxyzzy.wxpを消したり
....
>
> で、ふと思い立って、/usrごとゴッソリ消したら復帰できたんです!(思
> わぬところに落とし穴でした)
起動時にツールバーが表示されない不具合は、恐らくヒストリーファイルに
解釈できない記述がある場合に起こります。
例えば普通は
1. "browserex.l" をロード。
1.1. browserex パッケージが作成される。
1.2. (define-history-variable browserex::*browser-position* ...)
によって、次回 xyzzy 起動時にも browserex::*browser-position*
の値を保持するよう指定される。
2. xyzzy は終了時にヒストリーファイル $XYZZY/usr/username/os/.xyzzy.history
にシンボル browserex::*browser-position* とその値を書きこみ、その
後終了。
3. 次回 xyzzy 起動時、ヒストリーファイルからシンボルと値を読み込み
browserex::*browser-position* の値の復元。その後起動完了。
となるのですが、
A. "browserex.l" をロードする記述を設定ファイルから削除などして
起動時に "browserex.l" が読みこまれないと、browserex
パッケージが存在しないにも関わらず、ヒストリーファイルに記述され
ている browserex パッケージのシンボル browserex::*browser-position* を
xyzzy が解釈しようとすることになり、結局解釈できずエラーが生じる。
B. パッケージに限らず、例えば (find-buffer "*scratch*") を
評価した結果の表示である #<buffer: *scratch*> は、xyzzy が
読みとって解釈できる形式ではないため、そんな値が
(define-history-variable) してあるシンボルの値として
ヒストリーファイルに書き出されていると、次回起動時に読みこめず、
エラーとなる。
A. B. のようにエラーが生じると(多分)その影響でツールバーなどが
表示されなくなります。
問題はヒストリーファイル(普通は $XYZZY/usr/username/os/.xyzzy.history)に
解釈できないものが書かれていることなので、
a. ヒストリーファイルから怪しい部分を消す。
b. ヒストリーファイルを消す。
c. 原因がパッケージが存在しないことならば、初期設定ファイルに、
不足しているパッケージを作成するライブラリを読みこむ記述を
メモ帳などで追加。
xyzzy 起動後 (unregister-history-variable ...) などして、
問題のシンボルがヒストリーファイルに書き出されないようにし、
パッケージを使用していた痕跡をなくす。
上記 a. b. c. のいずれかを行えば xyzzy は普通に起動するようになり、
問題は解決すると思います。
---
OHKUBO Hiroshi
konata_o@xxxxxxxxxxx
http://members.tripod.co.jp/ohkubo/xyzzy/index.html