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
にローカルにバインドされるのでカーソルはそのウィンドウ内に現れる。