]> git.eshelyaron.com Git - emacs.git/commitdiff
In debug restore window configuration when debugger-will-be-back is non-nil (Bug...
authorMartin Rudalics <rudalics@gmx.at>
Sat, 13 Oct 2012 07:58:53 +0000 (09:58 +0200)
committerMartin Rudalics <rudalics@gmx.at>
Sat, 13 Oct 2012 07:58:53 +0000 (09:58 +0200)
* emacs-lisp/debug.el (debug): When debugger-will-be-back is
non-nil, restore window configuration (Bug#12623).

lisp/ChangeLog
lisp/emacs-lisp/debug.el

index 2a92c1178cf2585807c0c7ce30b15af733cee5df..5ac455feb13e6205a94a3a959a15d99d41b683a2 100644 (file)
@@ -1,3 +1,8 @@
+2012-10-13  Martin Rudalics  <rudalics@gmx.at>
+
+       * emacs-lisp/debug.el (debug): When debugger-will-be-back is
+       non-nil, restore window configuration (Bug#12623).
+
 2012-10-12  Stefan Monnier  <monnier@iro.umontreal.ca>
 
        * help-fns.el (describe-variable, describe-function-1):
index 6b308119abb0df1af7caec42de439ec5a3d5c6dc..c30ccf3315eafe67766410c1701a297de418c512 100644 (file)
@@ -213,7 +213,8 @@ first will be printed into the backtrace buffer."
             (or enable-recursive-minibuffers (> (minibuffer-depth) 0)))
            (standard-input t) (standard-output t)
            inhibit-redisplay
-           (cursor-in-echo-area nil))
+           (cursor-in-echo-area nil)
+           (window-configuration (current-window-configuration)))
        (unwind-protect
            (save-excursion
              (when (eq (car debugger-args) 'debug)
@@ -266,16 +267,19 @@ first will be printed into the backtrace buffer."
                ;; Make sure we unbind buffer-read-only in the right buffer.
                (save-excursion
                  (recursive-edit))))
-         (when (and (not debugger-will-be-back)
-                    (window-live-p debugger-window)
-                    (eq (window-buffer debugger-window) debugger-buffer))
-           ;; Record height of debugger window.
-           (setq debugger-previous-window-height
-                 (window-total-size debugger-window))
-           ;; Unshow debugger-buffer.
-           (quit-restore-window debugger-window debugger-bury-or-kill)
-           ;; Restore current buffer (Bug#12502).
-           (set-buffer debugger-old-buffer))
+         (if debugger-will-be-back
+             ;; Restore previous window configuration (Bug#12623).
+             (set-window-configuration window-configuration)
+           (when (and (window-live-p debugger-window)
+                      (eq (window-buffer debugger-window) debugger-buffer))
+             (progn
+               ;; Record height of debugger window.
+               (setq debugger-previous-window-height
+                     (window-total-size debugger-window))
+               ;; Unshow debugger-buffer.
+               (quit-restore-window debugger-window debugger-bury-or-kill)
+               ;; Restore current buffer (Bug#12502).
+               (set-buffer debugger-old-buffer))))
           ;; Restore previous state of debugger-buffer in case we were
           ;; in a recursive invocation of the debugger, otherwise just
           ;; erase the buffer and put it into fundamental mode.