GNU Emacs 32.0.50 (9008bf64c3) のマニュアルを PLaMo 翻訳で機械翻訳したものです。誤訳を含むことがあります。原文: https://www.gnu.org/software/emacs/manual/html_node/elisp/Edebug-Eval.html ・ emacs-doc.conao3.com

19.2.9 評価

Edebugの実行中であっても、Edebugが動作していないときと同様に式を評価できます。Edebugは、式の評価や出力に影響を与えないよう努めます。副作用を引き起こす式の評価は、Edebugが明示的に保存・復元するデータへの変更を除き、期待通りに動作します。このプロセスの詳細については、外部コンテキストを参照してください。

e exp RET

Edebug 以外のコンテキスト (edebug-eval-expression) で式 exp を評価します。つまり、Edebug は評価への干渉を最小限に抑えようとします。結果は echo 領域に表示されます。また、このコマンドにプレフィックスが指定されている場合は、新しいバッファをポップアップし、そこに結果を見やすく表示します。

デフォルトでは、このコマンドは評価中にデバッガを抑制します。これにより、評価対象の式にエラーが発生しても、既存のエラーの上に新たなエラーが追加されることはありません。この動作を上書きするには、ユーザーオプション debug-allow-recursive-debug(エラー発生時のデバッガ起動を参照)を nil 以外の値に設定してください。

M-: exp RET

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

C-x C-e

Edebug 以外のコンテキスト (edebug-eval-last-sexp) において、ポイント前の式を評価し、その値をミニバッファに表示します。プレフィックス引数が 0 (C-u 0 C-x C-e) の場合、edebug-print-length および edebug-print-level のため、値を表示する際に長い項目(文字列やリストなど)を省略しません(Edebug での出力 を参照)。それ以外のプレフィックスを指定すると、値はミニバッファではなく、別のバッファに整形表示されます。

式のリストを対話的に評価するためのその他のEdebug機能については、評価リストバッファを参照してください。

Edebugは、cl-lib.elにおける以下の構文 cl-macrolet および cl-symbol-macrolet で作成された字句スコープのシンボルへの参照を含む式の評価をサポートしています。