Next: , Previous: , Up: Edebug   [Contents][Index]


19.2.9 評価

Edebug内では、まるでEdebugが実行されていないかのように式を評価できます。式の評価とプリントに際して、Edebugは不可視になるよう試みます。副作用をもつ式の評価は、Edebugが明示的に保存とリストアを行うデータへの変更を除いて期待したとおり機能するでしょう。このプロセスの詳細は、コンテキスト外部を参照してください。

e exp RET

Edebugのコンテキスト外で式expを評価する(edebug-eval-expression)。つまり、Edebugはその式への干渉を最小限にしようと努める。評価した結果はエコーエリア、プレフィックス引数を与えられた場合には新たにバッファーをポップアップしてそこに結果を見栄えよくプリントする。

このコマンドはデフォルトでは評価の間はデバッガを抑制する。これにより評価される式内のエラーが新たなエラーとして既存のエラーの最上位に追加されることはなくなる。ユーザーオプションdebug-allow-recursive-debugを非nilにセットすれば、これをオーバーライドできる。

M-: exp RET

Edebug自身のコンテキスト内で式expを評価する(eval-expression)。

C-x C-e

ポイントの前の式をEdebugのコンテキスト外で評価する(edebug-eval-last-sexp)。プレフィックス引数が0(C-u 0 C-x C-e)なら、(文字列やリストのような)長いアイテムを短縮しない。それ以外のプレフィックスなら別のバッファーに値を見栄えよくプリントする。

Edebugはcl.el内の構文(lexical-letmacroletsymbol-macrolet)によって作成された、レキシカル(lexical)にバインドされたシンボルへの参照を含む式の評価をサポートします。