aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMartin Rudalics2012-10-13 09:58:53 +0200
committerMartin Rudalics2012-10-13 09:58:53 +0200
commit88ded8accac910447a8b5411f6e37443b1fd6be8 (patch)
treef78a321a32bb62860bcb1c60ac1166c73b7cf4f5
parent73f2b4abf53a5391f995edacf39c6de89fdc8f45 (diff)
downloademacs-88ded8accac910447a8b5411f6e37443b1fd6be8.tar.gz
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).
-rw-r--r--lisp/ChangeLog5
-rw-r--r--lisp/emacs-lisp/debug.el26
2 files changed, 20 insertions, 11 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index 2a92c1178cf..5ac455feb13 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,3 +1,8 @@
12012-10-13 Martin Rudalics <rudalics@gmx.at>
2
3 * emacs-lisp/debug.el (debug): When debugger-will-be-back is
4 non-nil, restore window configuration (Bug#12623).
5
12012-10-12 Stefan Monnier <monnier@iro.umontreal.ca> 62012-10-12 Stefan Monnier <monnier@iro.umontreal.ca>
2 7
3 * help-fns.el (describe-variable, describe-function-1): 8 * help-fns.el (describe-variable, describe-function-1):
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."
213 (or enable-recursive-minibuffers (> (minibuffer-depth) 0))) 213 (or enable-recursive-minibuffers (> (minibuffer-depth) 0)))
214 (standard-input t) (standard-output t) 214 (standard-input t) (standard-output t)
215 inhibit-redisplay 215 inhibit-redisplay
216 (cursor-in-echo-area nil)) 216 (cursor-in-echo-area nil)
217 (window-configuration (current-window-configuration)))
217 (unwind-protect 218 (unwind-protect
218 (save-excursion 219 (save-excursion
219 (when (eq (car debugger-args) 'debug) 220 (when (eq (car debugger-args) 'debug)
@@ -266,16 +267,19 @@ first will be printed into the backtrace buffer."
266 ;; Make sure we unbind buffer-read-only in the right buffer. 267 ;; Make sure we unbind buffer-read-only in the right buffer.
267 (save-excursion 268 (save-excursion
268 (recursive-edit)))) 269 (recursive-edit))))
269 (when (and (not debugger-will-be-back) 270 (if debugger-will-be-back
270 (window-live-p debugger-window) 271 ;; Restore previous window configuration (Bug#12623).
271 (eq (window-buffer debugger-window) debugger-buffer)) 272 (set-window-configuration window-configuration)
272 ;; Record height of debugger window. 273 (when (and (window-live-p debugger-window)
273 (setq debugger-previous-window-height 274 (eq (window-buffer debugger-window) debugger-buffer))
274 (window-total-size debugger-window)) 275 (progn
275 ;; Unshow debugger-buffer. 276 ;; Record height of debugger window.
276 (quit-restore-window debugger-window debugger-bury-or-kill) 277 (setq debugger-previous-window-height
277 ;; Restore current buffer (Bug#12502). 278 (window-total-size debugger-window))
278 (set-buffer debugger-old-buffer)) 279 ;; Unshow debugger-buffer.
280 (quit-restore-window debugger-window debugger-bury-or-kill)
281 ;; Restore current buffer (Bug#12502).
282 (set-buffer debugger-old-buffer))))
279 ;; Restore previous state of debugger-buffer in case we were 283 ;; Restore previous state of debugger-buffer in case we were
280 ;; in a recursive invocation of the debugger, otherwise just 284 ;; in a recursive invocation of the debugger, otherwise just
281 ;; erase the buffer and put it into fundamental mode. 285 ;; erase the buffer and put it into fundamental mode.