Next: Edebug Recursive Edit, Previous: Checking Whether to Stop, Up: The Outside Context [Contents][Index]
(たとえばtraceモードなどで)Edebugが何かを表示する必要があるときは、Edebugの“外部”からカレントウィンドウ構成(Window Configurationsを参照)を保存します。Edebugをexitするときに、以前のウィンドウ構成がリストアされます。
Emacsは、pause時だけ再表示を行います。通常は実行を継続したときに、そのプログラムはbreakpointまたはステップ実行後にEdebugに再エンターし、その間にpauseや入力の読み取りはありません。そのような場合、Emacsが“外部”の構成を再表示する機会は決してありません。結果として、ユーザーが目にするウィンドウ構成は、前回Edebugが中断なしでアクティブだったときのウィンドウ構成と同じになります。
何かを表示するためにEdebugにエントリーすることにより、(たとえこれらのうちのいくつかは、エラーやquitがシグナルされたときは、故意にリストアしないデータだとしても)以下のデータも保存およびリストアされます。
edebug-save-windows
が非nil
の場合は、外部のウィンドウ構成が保存およびリストアされる(Edebug Optionsを参照)。
エラーやquitではウィンドウ構成はリストアされないが、save-excursion
がアクティブな場合は、たとえエラーやquitのとき外部の選択されたウィンドウが再選択される。edebug-save-windows
の値がリストの場合は、それにリストされたウィンドウだけが保存およびリストアされる。
しかし、ソースコードバッファーのウィンドウの開始位置と水平スクロールはリストアされないので、表示はEdebug内で整合性が保たれたままとなる。
edebug-save-displayed-buffer-points
が非nil
の場合、表示されているそれぞれのバッファー内のポイント値は、保存およびリストアされる。
overlay-arrow-position
とoverlay-arrow-string
は保存およびリストアされるので、同じバッファー内の他の場所の再帰編集から、安全にEdebugを呼び出せる。
cursor-in-echo-area
はnil
にローカルにバインドされるので、カーソルはそのウィンドウ内に現れる。