diff options
author | Martin Rudalics <rudalics@gmx.at> | 2012-10-13 09:58:53 +0200 |
---|---|---|
committer | Martin Rudalics <rudalics@gmx.at> | 2012-10-13 09:58:53 +0200 |
commit | 88ded8accac910447a8b5411f6e37443b1fd6be8 (patch) | |
tree | f78a321a32bb62860bcb1c60ac1166c73b7cf4f5 /lisp/emacs-lisp | |
parent | 73f2b4abf53a5391f995edacf39c6de89fdc8f45 (diff) | |
download | emacs-88ded8accac910447a8b5411f6e37443b1fd6be8.tar.gz emacs-88ded8accac910447a8b5411f6e37443b1fd6be8.tar.bz2 emacs-88ded8accac910447a8b5411f6e37443b1fd6be8.zip |
In debug restore window configuration when debugger-will-be-back is non-nil (Bug#12623).
* emacs-lisp/debug.el (debug): When debugger-will-be-back is
non-nil, restore window configuration (Bug#12623).
Diffstat (limited to 'lisp/emacs-lisp')
-rw-r--r-- | lisp/emacs-lisp/debug.el | 26 |
1 files changed, 15 insertions, 11 deletions
diff --git a/lisp/emacs-lisp/debug.el b/lisp/emacs-lisp/debug.el index 6b308119abb..c30ccf3315e 100644 --- a/lisp/emacs-lisp/debug.el +++ b/lisp/emacs-lisp/debug.el @@ -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. |