   (when rdebug-many-windows
     (rdebug-setup-windows)))
 
+(defun rdebug-display-original-frame-configuration ()
+  "Display the layout of windows prior to starting the ruby debugger."
+  (when rdebug-original-frame-configuration
+    (set-frame-configuration rdebug-original-frame-configuration)
+    (message
+     "Type `M-x rdebug-restore-windows RET' to see debugger windows.")))
+
 (defun rdebug-set-windows (&optional name)
   "Sets window used in multi-window frame and issues
 rdebug-restore-windows if rdebug-many-windows is set"



(defmacro rdebug-debug-enter (str &rest body)
  `(progn
     (rdebug-debug-message "--> %s\n" ,str)
     (setq rdebug-debug-depth (+ rdebug-debug-depth 1))

(defconst rdebug-annotation-end-regexp
  "\n")

(defvar rdebug-original-frame-configuration nil
  "The window layout rdebug should restore when the debugger exits.")

;; This is used to ensure that the original frame configuration is
;; restored even when the user re-starts the debugger several times.
(defvar rdebug-frame-configuration-state 'original
  "Represent which frame configuration  currently is in use.
Can be `original' or `debugger'.")

;; rdebugtrack constants
(defconst rdebugtrack-stack-entry-regexp
      "^(\\([-a-zA-Z0-9_/.]*\\):\\([0-9]+\\)):[ \t]?\\(.*\n\\)"
