Next: Trace Buffer, Previous: Eval List, Up: Edebug [Contents][Index]
プログラム内の式が循環リスト構造(circular list structure)を含む値を生成する場合は、Edebugがそれをプリントしようとしたときエラーとなるかもしれません。
循環構造への対処の1つに、print-lengthおよびprint-levelにプリントの切り詰めをセットする方法があります。Edebugは、変数edebug-print-lengthおよびedebug-print-levelの値(非nil値をもつ場合)を、これらの変数にバインドします。Output Variablesを参照してください。
非nilの場合は、結果をプリントするときEdebugはprint-lengthをこの値にバインドする。デフォルト値は50。
非nilの場合は、結果をプリントするときEdebugはprint-levelをこの値にバインドする。デフォルト値は50。
print-circleを非nil値にバインドして、循環構造や要素を共有する構造を、より参考になる情報をプリントすることもできます。
以下は循環構造を作成するコードの例です:
(setq a '(x y)) (setcar a a)
カスタムプリントはこれを、‘Result: #1=(#1# y)’のようにプリントします。‘#1=’という表記はその後の構造をラベル‘1’とラベル付けし、‘#1#’表記はその前にラベル付けされた構造を参照しています。この表記は、リストやベクターの任意の共有要素に使用されます。
非nilの場合は、結果をプリントするときEdebugはprint-circleをこの値にバインドする。デフォルト値はt。
他にプログラムもカスタムプリントを使用できます。詳細はcust-print.elを参照してください。