(cvs-bury-buffer): Revert my patch: quit-window
authorSam Steingold <sds@gnu.org>
Thu, 8 May 2008 14:51:03 +0000 (14:51 +0000)
committerSam Steingold <sds@gnu.org>
Thu, 8 May 2008 14:51:03 +0000 (14:51 +0000)
appears to be too aggressive with window removal.

lisp/ChangeLog
lisp/pcvs-util.el

index 2b96658..eee9c9b 100644 (file)
@@ -1,3 +1,8 @@
+2008-05-07  Sam Steingold  <sds@gnu.org>
+
+       * pcvs-util.el (cvs-bury-buffer): Revert my patch: quit-window
+       appears to be too aggressive with window removal.
+
 2008-05-08  Michael McNamara  <mac@mail.brushroad.com>
 
        * verilog-mode.el (verilog-type-font-keywords): Add leda and 0in
index 70b9025..4973645 100644 (file)
@@ -100,7 +100,20 @@ BUF is assumed to be a temporary buffer used from the buffer MAINBUF."
     (let ((win (if (eq buf (window-buffer (selected-window))) (selected-window)
                 (get-buffer-window buf t))))
       (when win
-        (quit-window nil win)))
+       (if (window-dedicated-p win)
+           (condition-case ()
+               (delete-window win)
+             (error (iconify-frame (window-frame win))))
+;;;      (if (and mainbuf (get-buffer-window mainbuf))
+;;;          ;; FIXME: if the buffer popped into a pre-existing window,
+;;;          ;; we don't want to delete that window.
+;;;          t ;;(delete-window win)
+;;;          )
+         )))
+    (with-current-buffer buf
+      (bury-buffer (unless (and (eq buf (window-buffer (selected-window)))
+                               (not (window-dedicated-p (selected-window))))
+                    buf)))
     (when mainbuf
       (let ((mainwin (or (get-buffer-window mainbuf)
                         (get-buffer-window mainbuf 'visible))))