mirror of
https://git.savannah.gnu.org/git/emacs.git
synced 2025-01-04 11:40:22 +00:00
In vc actions use quit-windows-on instead of delete-windows-on.
* window.el (quit-windows-on): New function. * vc/vc.el (vc-revert, vc-rollback): * vc/vc-dispatcher.el (vc-finish-logentry): Call quit-windows-on instead of deleting windows. (Bug#4557) (Bug#5310) (Bug#5556) (Bug#6183) (Bug#7074)((Bug#7447)
This commit is contained in:
parent
0563dae9a9
commit
366ca7f3da
@ -3,6 +3,12 @@
|
||||
* window.el (special-display-buffer-names)
|
||||
(special-display-regexps): Remove some remnants of earlier
|
||||
changes from doc-strings.
|
||||
(quit-windows-on): New function.
|
||||
|
||||
* vc/vc.el (vc-revert, vc-rollback):
|
||||
* vc/vc-dispatcher.el (vc-finish-logentry): Call quit-windows-on
|
||||
instead of deleting windows. (Bug#4557) (Bug#5310) (Bug#5556)
|
||||
(Bug#6183) (Bug#7074)((Bug#7447)
|
||||
|
||||
2011-10-09 Martin Rudalics <rudalics@gmx.at>
|
||||
|
||||
|
@ -666,18 +666,15 @@ the buffer contents as a comment."
|
||||
(funcall log-operation
|
||||
log-fileset
|
||||
log-entry))
|
||||
;; Remove checkin window (after the checkin so that if that fails
|
||||
;; we don't zap the log buffer and the typing therein).
|
||||
;; -- IMO this should be replaced with quit-window
|
||||
(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))
|
||||
(logbuf
|
||||
(with-selected-window (or (get-buffer-window logbuf 0)
|
||||
(selected-window))
|
||||
(with-current-buffer logbuf
|
||||
(bury-buffer)))))
|
||||
|
||||
;; Quit windows on logbuf.
|
||||
(cond
|
||||
((not logbuf))
|
||||
(vc-delete-logbuf-window
|
||||
(quit-windows-on logbuf t (selected-frame)))
|
||||
(t
|
||||
(quit-windows-on logbuf nil 0)))
|
||||
|
||||
;; Now make sure we see the expanded headers
|
||||
(when log-fileset
|
||||
(mapc
|
||||
|
@ -2302,8 +2302,7 @@ to the working revision (except for keyword expansion)."
|
||||
(if (= nfiles 1) "" "s"))))))
|
||||
(error "Revert canceled")))
|
||||
(when diff-buffer
|
||||
(delete-windows-on diff-buffer)
|
||||
(kill-buffer diff-buffer)))
|
||||
(quit-windows-on diff-buffer t)))
|
||||
(dolist (file files)
|
||||
(message "Reverting %s..." (vc-delistify files))
|
||||
(vc-revert-file file)
|
||||
@ -2349,8 +2348,7 @@ depending on the underlying version-control system."
|
||||
;; Display changes
|
||||
(unless (yes-or-no-p "Discard these revisions? ")
|
||||
(error "Rollback canceled"))
|
||||
(delete-windows-on "*vc-diff*")
|
||||
(kill-buffer"*vc-diff*")
|
||||
(quit-windows-on "*vc-diff*" t)
|
||||
;; Do the actual reversions
|
||||
(message "Rolling back %s..." (vc-delistify files))
|
||||
(with-vc-properties
|
||||
|
@ -2984,6 +2984,27 @@ one. If non-nil, reset `quit-restore' parameter to nil."
|
||||
(if kill
|
||||
(kill-buffer buffer)
|
||||
(bury-buffer-internal buffer))))
|
||||
|
||||
(defun quit-windows-on (&optional buffer-or-name kill frame)
|
||||
"Quit all windows showing BUFFER-OR-NAME.
|
||||
BUFFER-OR-NAME may be a buffer or the name of an existing buffer
|
||||
and defaults to the current buffer. Optional argument KILL
|
||||
non-nil means to kill BUFFER-OR-NAME. KILL nil means to bury
|
||||
BUFFER-OR-NAME. Optional argument FRAME is handled as by
|
||||
`delete-windows-on'.
|
||||
|
||||
This function calls `quit-window' on all candidate windows
|
||||
showing BUFFER-OR-NAME."
|
||||
(interactive "BQuit windows on (buffer):\nP")
|
||||
(let ((buffer (window-normalize-buffer buffer-or-name))
|
||||
;; Handle the "inverted" meaning of the FRAME argument wrt other
|
||||
;; `window-list-1' based function.
|
||||
(all-frames (cond ((not frame) t) ((eq frame t) nil) (t frame))))
|
||||
(dolist (window (window-list-1 nil nil all-frames))
|
||||
(if (eq (window-buffer window) buffer)
|
||||
(quit-window kill window)
|
||||
;; If a window doesn't show BUFFER, unrecord BUFFER in it.
|
||||
(unrecord-window-buffer window buffer)))))
|
||||
|
||||
;;; Splitting windows.
|
||||
(defsubst window-split-min-size (&optional horizontal)
|
||||
|
Loading…
Reference in New Issue
Block a user