Function: cvs-mode!
cvs-mode! is a byte-compiled function defined in pcvs.el.gz.
Signature
(cvs-mode! &optional -CVS-MODE!-FUN)
Documentation
Switch to the *cvs* buffer.
If -CVS-MODE!-FUN is provided, it is executed *cvs* being the current buffer
and with its window selected. Else, the *cvs* buffer is simply selected.
-CVS-MODE!-FUN is called interactively if applicable and else with no argument.
Source Code
;; Defined in /usr/src/emacs/lisp/vc/pcvs.el.gz
;;;;
(defun cvs-mode! (&optional -cvs-mode!-fun)
"Switch to the *cvs* buffer.
If -CVS-MODE!-FUN is provided, it is executed *cvs* being the current buffer
and with its window selected. Else, the *cvs* buffer is simply selected.
-CVS-MODE!-FUN is called interactively if applicable and else with no argument."
(let* ((-cvs-mode!-buf (current-buffer))
(cvsbuf (cond ((cvs-buffer-p) (current-buffer))
((and cvs-buffer (cvs-buffer-p cvs-buffer)) cvs-buffer)
(t (error "Can't find the *cvs* buffer"))))
(-cvs-mode!-wrapper cvs-minor-wrap-function)
(-cvs-mode!-cont (lambda ()
(save-current-buffer
(if (commandp -cvs-mode!-fun)
(call-interactively -cvs-mode!-fun)
(funcall -cvs-mode!-fun))))))
(if (not -cvs-mode!-fun) (set-buffer cvsbuf)
(let ((cvs-mode!-buf (current-buffer))
(cvs-mode!-owin (selected-window))
(cvs-mode!-nwin (get-buffer-window cvsbuf 'visible)))
(unwind-protect
(progn
(set-buffer cvsbuf)
(when cvs-mode!-nwin (select-window cvs-mode!-nwin))
(if -cvs-mode!-wrapper
(funcall -cvs-mode!-wrapper -cvs-mode!-buf -cvs-mode!-cont)
(funcall -cvs-mode!-cont)))
(set-buffer cvs-mode!-buf)
(when (and cvs-mode!-nwin (eq cvs-mode!-nwin (selected-window)))
;; the selected window has not been changed by FUN
(select-window cvs-mode!-owin)))))))