diff lisp/emacs-lisp/debug.el @ 63092:80ef8a2a052d

(debug): Don't bury the buffer unless it's in a dedicated window.
author Stefan Monnier <monnier@iro.umontreal.ca>
date Mon, 06 Jun 2005 19:47:05 +0000
parents b9209f1855ae
children 95e4ef649d27
line wrap: on
line diff
--- a/lisp/emacs-lisp/debug.el	Mon Jun 06 19:42:25 2005 +0000
+++ b/lisp/emacs-lisp/debug.el	Mon Jun 06 19:47:05 2005 +0000
@@ -221,12 +221,18 @@
 	      ;; Still visible despite the save-window-excursion?  Maybe it
 	      ;; it's in a pop-up frame.  It would be annoying to delete and
 	      ;; recreate it every time the debugger stops, so instead we'll
-	      ;; erase it and hide it but keep it alive.
+	      ;; erase it (and maybe hide it) but keep it alive.
 	      (with-current-buffer debugger-buffer
 		(erase-buffer)
 		(fundamental-mode)
 		(with-selected-window (get-buffer-window debugger-buffer 0)
-		  (bury-buffer)))
+                  (when (window-dedicated-p (selected-window))
+                    ;; If the window is not dedicated, burying the buffer
+                    ;; will mean that the frame created for it is left
+                    ;; around showing smoe random buffer, and next time we
+                    ;; pop to the debugger buffer we'll create yet
+                    ;; another frame.
+                    (bury-buffer))))
 	    (kill-buffer debugger-buffer))
 	  (set-match-data debugger-outer-match-data)))
       ;; Put into effect the modified values of these variables