次: , 前: makeinfo Preferred, 上: Catching Mistakes


F.1 Infoの書式化でエラーを捕らえる

Texinfoファイルの一部を書いた後,領域の書式化が正確かどうかを見るために, texinfo-format-regionmakeinfo-regionコマンドを使用するこ とが可能です.

しかしほとんどの場合,とある理由でmakeinfo-regionコマンドが使えな いためにこのセクションを読んでいることでしょう.それゆえ,このセクション の残りは,texinfo-format-regionの使用を想定します.

@-コマンドでミスを犯した場合,texinfo-format-regionはエラー時ま たはその後で処理を停止し,エラーメッセージを表示します.エラーが発生した バッファを見るために,`*Info Region*'バッファに切替えてください.カー ソルはエラーの位置の後にあります.また,エラーが発生した(または,より正 確にはそれが検出された)後,テキストは書式化されません.

例えば偶然,@end menuの代わりに最後に`s'が付いたコマンド @end menusでメニューを終了した場合,以下のようなエラーメッセージ を得るでしょう.

     @end menus is not handled by texinfo

カーソルはバッファ内の,エラーが発生した場所やそこからそう遠くない場所で 止まります.バッファは以下のようになります.

     ---------- Buffer: *Info Region* ----------
     * Menu:
     
     * Using texinfo-show-structure::  How to use
                                      `texinfo-show-structure'
                                      to catch mistakes.
     * Running Info-Validate::         How to check for
                                      unreferenced nodes.
     @end menus
     -!-
     ---------- Buffer: *Info Region* ----------

texinfo-format-regionコマンドは,ちょっと変わったエラーメッセージ を提供することもあります.例えば,書式化で相互参照の追跡で失敗したとしま す.

     (@xref{Catching Mistakes, for more info.)

この場合,texinfo-format-regionは,足りない閉じカッコを検出してい ますが,メッセージは,`Unbalanced braces'ではなく`Unbalanced parentheses'になります.これは,書式化コマンドが弓カッコの不一致を,それ があたかもカッコであるかのように探すためです.

texinfo-format-regionはミスの検出に失敗するときもあります.例えば, 以下では,閉じカッコと閉じ弓カッコが置き換わっています.

     (@xref{Catching Mistakes), for more info.}

書式化では以下を生成します.

     (*Note for more info.: Catching Mistakes)

このエラーを検出する唯一の方法は,以下のように参照を実現することです.

     (*Note Catching Mistakes::, for more info.)

ついでに,Infoでこのノードを読んでいて,f <RET> (Info-follow-reference)を入力した場合,以下のエラーメッセージを生 成するでしょう.

     No such node: "Catching Mistakes) The only way ...

これは,Infoがエラーの例を,このノードの最初の相互参照として提供するため で,Infoのfコマンドの直後に<RET>を入力した場合,Infoは参照ノー ドに行こうと試みるでしょう.f catch <TAB> <RET>と入力した 場合,Infoは正確に書かれている例のノード名を認知し,`Catching Mistakes' ノードへ連れて行くでしょう.(これを試みる場合,l(Info-last) を入力し,`Catching Mistakes'に戻ることができます.)