changeset 24477:b3b029a06e34

(vc-delete-logbuf-window): New var. (vc-finish-logentry): Use it.
author Karl Heuer <kwzh@gnu.org>
date Sat, 13 Mar 1999 05:04:24 +0000
parents 80cc02242a00
children 6de993b01982
files lisp/vc.el
diffstat 1 files changed, 17 insertions(+), 6 deletions(-) [+]
line wrap: on
line diff
--- a/lisp/vc.el	Sat Mar 13 04:53:43 1999 +0000
+++ b/lisp/vc.el	Sat Mar 13 05:04:24 1999 +0000
@@ -5,7 +5,7 @@
 ;; Author:     Eric S. Raymond <esr@snark.thyrsus.com>
 ;; Maintainer: Andre Spiegel <spiegel@inf.fu-berlin.de>
 
-;; $Id: vc.el,v 1.242 1999/01/02 21:54:32 rms Exp spiegel $
+;; $Id: vc.el,v 1.243 1999/01/22 16:28:12 spiegel Exp kwzh $
 
 ;; This file is part of GNU Emacs.
 
@@ -107,6 +107,14 @@
   :type 'boolean
   :group 'vc)
 
+(defcustom vc-delete-logbuf-window t
+  "*If non-nil, delete the *VC-log* buffer and window after each logical action.
+If nil, bury that buffer instead.
+This is most useful if you have multiple windows on a frame and would like to
+preserve the setting."
+  :type 'boolean
+  :group 'vc)
+
 (defcustom vc-initial-comment nil
   "*If non-nil, prompt for initial comment when a file is registered."
   :type 'boolean
@@ -1242,7 +1250,6 @@
     (or (eobp) (looking-at "\n\n")
 	(insert "\n"))))
 
-
 (defun vc-finish-logentry (&optional nocomment)
   "Complete the operation implied by the current log entry."
   (interactive)
@@ -1266,7 +1273,8 @@
 	(log-file vc-log-file)
 	(log-version vc-log-version)
 	(log-entry (buffer-string))
-	(after-hook vc-log-after-operation-hook))
+	(after-hook vc-log-after-operation-hook)
+	(tmp-vc-parent-buffer vc-parent-buffer))
     (pop-to-buffer vc-parent-buffer)
     ;; OK, do it to it
     (save-excursion
@@ -1277,10 +1285,13 @@
     ;; Remove checkin window (after the checkin so that if that fails
     ;; we don't zap the *VC-log* buffer and the typing therein).
     (let ((logbuf (get-buffer "*VC-log*")))
-      (cond (logbuf
-             (delete-windows-on logbuf (selected-frame))
+      (cond ((and logbuf vc-delete-logbuf-window)
+	     (delete-windows-on logbuf (selected-frame))
 	     ;; Kill buffer and delete any other dedicated windows/frames.
-             (kill-buffer logbuf))))
+	     (kill-buffer logbuf))
+	    (t (pop-to-buffer "*VC-log*")
+	       (bury-buffer)
+	       (pop-to-buffer tmp-vc-parent-buffer))))
     ;; Now make sure we see the expanded headers
     (if buffer-file-name
 	(vc-resynch-window buffer-file-name vc-keep-workfiles t))