elisp: Edebug Display Update

 
 17.2.14.2 Edebug Display Update
 ...............................
 
 When Edebug needs to display something (e.g., in trace mode), it saves
 the current window configuration from outside Edebug (SeeWindow
 Configurations).  When you exit Edebug, it restores the previous
 window configuration.
 
    Emacs redisplays only when it pauses.  Usually, when you continue
 execution, the program re-enters 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.
 Consequently, what you see is the same window configuration as the last
 time Edebug was active, with no interruption.
 
    Entry to Edebug for displaying something also saves and restores the
 following data (though some of them are deliberately not restored if an
 error or quit signal occurs).
 
    • Which buffer is current, and the positions of point and the mark in
      the current buffer, are saved and restored.
 
    • The outside window configuration is saved and restored if
      ‘edebug-save-windows’ is non-‘nil’ (SeeEdebug Options).
 
      The window configuration is not restored on error or quit, but the
      outside selected window _is_ reselected even on error or quit in
      case a ‘save-excursion’ is active.  If the value of
      ‘edebug-save-windows’ is a list, only the listed windows are saved
      and restored.
 
      The window start and horizontal scrolling of the source code buffer
      are not restored, however, so that the display remains coherent
      within Edebug.
 
    • The value of point in each displayed buffer is saved and restored
      if ‘edebug-save-displayed-buffer-points’ is non-‘nil’.
 
    • The variables ‘overlay-arrow-position’ and ‘overlay-arrow-string’
      are saved and restored, so you can safely invoke Edebug from the
      recursive edit elsewhere in the same buffer.
 
    • ‘cursor-in-echo-area’ is locally bound to ‘nil’ so that the cursor
      shows up in the window.