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

[xyzzy:00450] Re: info



須田 さん、こんにちは。

        Wed, 23 Sep 1998 09:51:05 +0900 の
        [xyzzy:00449] Re: info
        への返事です.


| あとはこれだな。
| 
| 2. 1や2 などのコマンドで引数が足りないと怒られちゃう。

私のところでは引数が多いと怒られますが(^^;
Info-find-node の (if (equal nodename "*") で始まる if の引数が
やけにいっぱいあります。どこかで括弧がずれてるような。

あらかじめこんなのを評価しとくと、エラーが出たときちょっとはマ
シになります。

  (setq *error-output* (make-buffer-stream (create-new-buffer "*trace*")))
  (setq si:*trace-on-error* t)

それから、search-forward は名前だけ同じで結構動きが違うような気
がするので、scan-buffer を使ったほうがいいと思います。

| 3. もとの info ファイルで  ^_ 文字がどういう役目をしているのかつかめない。

区切りです。普通のテキストには ^_ は現れないので、プログラムで
探しやすくするため。

で、emacs では文字列中の "\C-_" は ^_ になるんですが、xyzzy で
はそうなっていないので、"\037" か "^_" にしてください。
                                  ----
                               実際は C-q 1 f で入力する

| 4. marker の設定の仕方が分からない。

んー、これはよくわかんない(^^; 多分、Info-mode の中で、

  (make-local-variable 'Info-tag-table-marker)
  (setq Info-tag-table-marker (make-marker))

とやっておけばいいはずです。set-marker は、

  set-marker マーカ &optional 位置

なので、だいたいそのままでいいはずですが、Info-find-node の

       (set-marker Info-tag-table-marker (make-marker))
                                         ^^^^^^^^^^^^^
ここは謎。

それから、marker-position は marker-point にしてください(なんで
名前が違うんだろ?)。


細かいことですが、バッファローカル変数の扱いが違うので、

  (defvar foo 初期値)
  (make-local-variable 'foo)

だと、期待通りに動作しません。defvar を、

  (or (boundp 'foo)
      (setq foo 初期値))

のようにする必要があります。ま、これは他のが動いてからで十分で
すが。


それから、結構でかい問題があって、位置の数え方が違う(emacs は 1 
から、xyzzy は 0 から)ので正しい位置にジャンプできません。(point) 
した位置に (goto-char) する分には正しく飛べるのですが、たとえば
info ファイルに

  Node: Top^?1042

とか書いてある場合に 1 文字ずれてしまうので、補正する必要があり
ます。Mule と Meadow も日本語だと違ってくるのですが。最終的に 
info を作るやつも移植すれば問題ありません(^^;

--
亀井哲弥(Tetsuya Kamei)
kamei@xxxxxxxxxxxx/JCA00343@xxxxxxxxxxx

Index Home