Function: cvs-mode-edit-log
cvs-mode-edit-log is an interactive and byte-compiled function defined
in pcvs.el.gz.
Signature
(cvs-mode-edit-log FILE REV &optional TEXT)
Documentation
Edit log message at point.
This is best called from a log-view-mode buffer.
Key Bindings
Source Code
;; Defined in /usr/src/emacs/lisp/vc/pcvs.el.gz
(defun cvs-mode-edit-log (file rev &optional text)
"Edit log message at point.
This is best called from a `log-view-mode' buffer."
(interactive
(list
(or (cvs-mode! (lambda ()
(car (cvs-mode-files nil nil
:read-only t :file t :noquery t))))
(read-string "File name: "))
(or (cvs-mode! (lambda () (cvs-prefix-get 'cvs-branch-prefix)))
(read-string "Revision to edit: "))
(cvs-edit-log-text-at-point)))
;; It seems that the save-excursion that happens if I use the better
;; form of `(cvs-mode! (lambda ...))' screws up a couple things which
;; end up being rather annoying (like log-edit-mode's message being
;; displayed in the wrong minibuffer).
(cvs-mode!)
(let ((buf (cvs-temp-buffer "message" 'normal 'nosetup))
(setupfun (or (nth 2 (cdr (assoc "message" cvs-buffer-name-alist)))
'log-edit)))
(with-current-buffer buf
;; Set the filename before, so log-edit can correctly setup its
;; log-edit-initial-files variable.
(setq-local cvs-edit-log-files (list file)))
(funcall setupfun 'cvs-do-edit-log nil
'((log-edit-listfun . cvs-edit-log-filelist)
(log-edit-diff-function . cvs-mode-diff))
buf)
(when text (erase-buffer) (insert text))
(setq-local cvs-edit-log-revision rev)
(setq-local cvs-minor-wrap-function 'cvs-edit-log-minor-wrap)
;; (run-hooks 'cvs-mode-commit-hook)
))