Function: cvs-status-cvstrees
cvs-status-cvstrees is an interactive and byte-compiled function
defined in cvs-status.el.gz.
Signature
(cvs-status-cvstrees &optional ARG)
Documentation
Look for a list of tags, and replace it with a tree.
Optional prefix ARG chooses between two representations.
Key Bindings
Source Code
;; Defined in /usr/src/emacs/lisp/vc/cvs-status.el.gz
(defun cvs-status-cvstrees (&optional arg)
"Look for a list of tags, and replace it with a tree.
Optional prefix ARG chooses between two representations."
(interactive "P")
(when (and cvs-tree-use-charset
(not enable-multibyte-characters))
;; We need to convert the buffer from unibyte to multibyte
;; since we'll use multibyte chars for the tree.
(let ((modified (buffer-modified-p))
(inhibit-read-only t)
(inhibit-modification-hooks t))
(unwind-protect
(progn
(decode-coding-region (point-min) (point-max) 'undecided)
(set-buffer-multibyte t))
(restore-buffer-modified-p modified))))
(save-excursion
(goto-char (point-min))
(let ((inhibit-read-only t)
(tags nil)
(cvs-tree-nomerge (if arg (not cvs-tree-nomerge) cvs-tree-nomerge)))
(while (listp (setq tags (cvs-status-get-tags)))
(let ((tags (mapcar #'cvs-tag-make-tag tags))
;;(pt (save-excursion (forward-line -1) (point)))
)
(setq tags (sort tags #'cvs-tag-lessp))
(let* ((first (car tags))
(prev (if (cvs-tag-p first)
(list (car (cvs-tag->vlist first))) nil)))
(combine-after-change-calls
(cvs-tree-tags-insert tags prev))
;;(cvs-refontify pt (point))
;;(sit-for 0)
))))))