changeset 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 81d7efcce2ff
children 49932d5128a9
files lisp/ChangeLog lisp/emacs-lisp/debug.el
diffstat 2 files changed, 11 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/lisp/ChangeLog	Mon Jun 06 19:42:25 2005 +0000
+++ b/lisp/ChangeLog	Mon Jun 06 19:47:05 2005 +0000
@@ -1,5 +1,8 @@
 2005-06-06  Stefan Monnier  <monnier@iro.umontreal.ca>
 
+	* emacs-lisp/debug.el (debug): Don't bury the buffer unless it's in
+	a dedicated window.
+
 	* international/latexenc.el (latexenc-find-file-coding-system):
 	Undo part of last patch, to turn off a compiler warning.
 
--- 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