Next: Edebug Recursive Edit, Previous: Checking Whether to Stop, Up: The Outside Context
edebugが(トレースモードなどで)なにかを表示する必要があると、 edebugの『外側』の現在のウィンドウ構成を保存します (see Window Configurations)。 (プログラムを続行して)edebugを抜けるときには、 以前のウィンドウ構成を復元します
Emacsは休止するときにのみ表示を更新します。 通常、プログラムを続行しても、休止したり入力を読むことなく ブレークポイントやステップ実行によりedebugへ戻ります。 そのような場合、Emacsには(edebugの)『外側』のようすを再表示する 機会が与えられません。 見かけ上、ウィンドウの表示は直前にedebugが活性であったときと同じになります。
なにかを表示するためにedebugに入っても以下のデータを保存/復元しますが、 エラーや中断が起こると、故意に復元しないものもあります。
edebug-save-windows
がnil
以外ならば、
外側でのウィンドウ構成を保存/復元する
(see Edebug Display Update)。
エラーや中断が起こるとウィンドウ構成は復元されない。
しかし、save-excursion
を使っていれば、
エラーや中断が起こっても、
外側で選択していたウィンドウは選択される。
edebug-save-windows
の値がリストであると、
リストに指定したウィンドウのみを保存/復元する。
ソースコードバッファのウィンドウ開始位置やスクロールは復元しないが、 これは、edebug内での表示が統一されるようにするためである。
edebug-save-displayed-buffer-points
がnil
以外であれば、
表示されている各バッファのポイント位置の値を保存/復元する。
overlay-arrow-position
とoverlay-arrow-string
は、
保存/復元される。
そのため、同じバッファで再帰編集からedebugを起動しても安全である。
cursor-in-echo-area
はnil
にローカルに束縛する。