Go to the previous, next section.
When Edebug needs to display something (e.g., in trace mode), it saves the current window configuration from "outside" Edebug (see section Window Configurations). When you exit Edebug (by continuing the program), it restores the previous window configuration.
Emacs redisplays only when it pauses. Usually, when you continue Edebug, the program comes back into Edebug at a breakpoint or after stepping, without pausing or reading input in between. In such cases, Emacs never gets a chance to redisplay the "outside" configuration. What you see is the window configuration for within Edebug, with no interruption.
The window configuration proper does not include which buffer is current or where point and mark are in the current buffer, but Edebug saves and restores these also.
Entry to Edebug for displaying something also saves and restores the following data. (Some of these variables are deliberately not restored if an error or quit signal occurs.)
edebug-save-windows is non-nil.
edebug-save-displayed-buffer-points is non-nil.
overlay-arrow-position and
overlay-arrow-string are saved and restored. This permits
recursive use of Edebug, and use of Edebug while using GUD.
cursor-in-echo-area is locally bound to nil so that
the cursor shows up in the window.
Go to the previous, next section.