;ELC   
;;; Compiled by pot@pot.cnuce.cnr.it on Tue Mar 18 15:37:42 2003
;;; from file /home/pot/gnu/emacs-pretest.new/lisp/cvs-status.el
;;; in Emacs version 21.3
;;; with bytecomp version 2.85.4.1
;;; with all optimizations.

;;; This file uses dynamic docstrings, first added in Emacs 19.29.
(if (and (boundp 'emacs-version)
	 (< (aref emacs-version (1- (length emacs-version))) ?A)
	 (or (and (boundp 'epoch::version) epoch::version)
	     (string-lessp emacs-version "19.29")))
    (error "`cvs-status.el' was compiled for Emacs 19.29 or later"))

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;


(byte-code "\300\301!\210\302\303\304\305\306\307\310\311&\207" [require pcvs-util custom-declare-group cvs-status nil "Major mode for browsing `cvs status' output." :group pcl-cvs :prefix "cvs-status-"] 8)
#@21 CVS-Status' keymap.
(defconst cvs-status-mode-map (byte-code "\301\302\303\304\300!\205\n \305\306\307\310F$\207" [cvs-status-mode-map easy-mmode-define-keymap (("n" . next-line) ("p" . previous-line) ("N" . cvs-status-next) ("P" . cvs-status-prev) ("\356" . cvs-status-next) ("\360" . cvs-status-prev) ("t" . cvs-status-cvstrees) ("T" . cvs-status-trees)) nil boundp :group cvs-status :inherit cvs-mode-map] 8) (#$ . 830))
#@43 Hook run at the end of `cvs-status-mode'.
(defvar cvs-status-mode-hook nil (#$ . 1261))
(byte-code "\301B\306\302B\307\303B\310\304B\311\305B\312\313B\n\314B	\f\315B\316BED\317B\320\321\322\323\324#\210\325B\326\325!\204K \327 \330B\326\330!\204[ \331\332\333\"\334B\335\334\333\"\210\321\322\336\337#\207" [current-load-list cvs-status-tags-leader-re cvs-status-entry-leader-re cvs-status-dir-re cvs-status-rev-re cvs-status-tag-re "^   Existing Tags:$" "^File:\\s-+\\(?:no file \\)?\\(.*\\S-\\)\\s-+Status: \\(.+\\)$" "^cvs[.ex]* [a-z]+: Examining \\(.+\\)$" "[0-9][.0-9]*\\.[.0-9]*[0-9]" "[ 	]\\([a-zA-Z][^ 	\n.]*\\)" cvs-status-font-lock-keywords ((1 'cvs-filename-face) (2 'cvs-need-action-face)) ((save-excursion (re-search-forward "^\n" nil 'move) (point)) (progn (re-search-backward cvs-status-tags-leader-re nil t) (forward-line 1)) (0 font-lock-comment-face)) ((save-excursion (re-search-forward "^\n" nil 'move) (point)) (progn (re-search-backward cvs-status-tags-leader-re nil t) (forward-line 1)) (1 font-lock-function-name-face)) cvs-status-font-lock-defaults (cvs-status-font-lock-keywords t nil nil nil (font-lock-multiline . t)) put cvs-status-mode mode-class special cvs-status-mode-map boundp make-sparse-keymap cvs-status-mode-syntax-table make-char-table syntax-table nil cvs-status-mode-abbrev-table define-abbrev-table derived-mode-parent fundamental-mode] 5)
#@148 Mode used for cvs status output.

This mode runs the hook `cvs-status-mode-hook', as the final step
during initialization.

\{cvs-status-mode-map}
(defalias 'cvs-status-mode #[nil "\306 \210\306\307N\203 \310\311\307\312#\210\311\313\314\n!\204 \315\n\316 \"\210\317!\211\203. \f\320 =\2034 \321\322 \"\210)\203> \323\324\"\210\325\n!\210\326!\210\327\330!L\210\327\331!\332L\210\333\334!\207" [major-mode mode-name cvs-status-mode-map cvs-status-mode-syntax-table parent local-abbrev-table fundamental-mode special put cvs-status-mode t "CVS-Status" keymap-parent set-keymap-parent current-local-map char-table-parent standard-syntax-table set-char-table-parent syntax-table mapatoms #[(symbol) "\302\303!	\"\206 \304	\303!JK$\207" [symbol cvs-status-mode-abbrev-table intern-soft symbol-name define-abbrev] 5] use-local-map set-syntax-table make-local-variable font-lock-defaults cvs-minor-wrap-function cvs-status-minor-wrap run-hooks cvs-status-mode-hook cvs-status-mode-abbrev-table cvs-status-font-lock-defaults] 5 (#$ . 2685) nil])
(add-to-list 'debug-ignored-errors "^No \\(previous\\|next\\) entry")
#@32 Go to the next COUNT'th entry.
(defalias 'cvs-status-next #[(&optional count) "\204 \303\304W\203 \305[!\207\306	!\203 T\307	\310\311$\2040 \306	!\203, db\207\312\313!\207\304\224b\210p\314\315 !=\205[ t\205[ \212\307	\310\311\316$)\206M d\317\n\310\311#?\205Z \320\321!)\207" [count cvs-status-entry-leader-re endpt 1 0 cvs-status-prev looking-at re-search-forward nil t error "No next entry" window-buffer selected-window 2 pos-visible-in-window-p recenter (0)] 5 (#$ . 3820) nil])
#@35 Go to the previous COUNT'th entry
(defalias 'cvs-status-prev #[(&optional count) "\204 \302\303W\203 \304[!\207\305	\306\307$?\205 \310\311!\207" [count cvs-status-entry-leader-re 1 0 cvs-status-next re-search-backward nil t error "No previous entry"] 5 (#$ . 4321) nil])
(defalias 'cvs-status-current-file #[nil "\212\306y\210\307\310\311#\204 \312!\210\313\306!\307\n\310\311#\205 \313\306!\307\f\310\311#\205+ \313\306!\314\314\203= \315\"\203H \315\"\315	\".\207" [cvs-status-entry-leader-re file cvs-status-dir-re cvsdir cvs-pcl-cvs-dirchange-re pcldir 1 re-search-backward nil t re-search-forward match-string "" expand-file-name dir default-directory] 4])
(defalias 'cvs-status-current-tag #[nil "\212`i\306\307\310#\210`\311\312\307\310#\210`\n\fW\205j 	\fV\205j \fb\210\307\210\307\f`\313 \210\311	\310#\203g i\212\314\224b\210i)\315Z!\315Z!^\211W\203c \316\314!+\2021 +-\207" [cvs-status-tags-leader-re end start col pt dist re-search-backward nil t re-search-forward "^$" beginning-of-line 1 abs match-string tag cvs-status-tag-re cole colb ndist] 8])
(defalias 'cvs-status-minor-wrap #[(buf f) "rq\210\306 \307 B	\205 \212\310 b\210\306 \307 )B)B\211\211@A)\n\211@A)\2050 \n\211AA)\n\211@@)\n\211A@)\205W \n\211@@)\n\211A@)\232?\205W \n\211A@)CB\311\n\f -\207" [buf mark-active data x cvs-force-command cvs-minor-current-files cvs-status-current-file cvs-status-current-tag mark "/F" cvs-secondary-branch-prefix cvs-branch-prefix f] 6])
(byte-code "\301B\302\303\304\305#\210\303\306N\204 \302\303\306\307#\210\301\207" [current-load-list cl-struct-cvs-tag-tags put cvs-tag->vlist cl-compiler-macro #[(cl-whole cl-x) "\301\302\303\304\211\211&\207" [cl-x cl-defsubst-expand (cl-x) (block cvs-tag->vlist (or (and (memq (aref cl-x 0) cl-struct-cvs-tag-tags)) (error "cvs-tag->vlist accessing a non-cvs-tag" cl-x)) (aref cl-x 1)) nil] 7] byte-compile cl-byte-compile-compiler-macro] 4)
(defalias 'cvs-tag->vlist #[(cl-x) "\302H	>\204 \303\304\"\210\305H\207" [cl-x cl-struct-cvs-tag-tags 0 error "cvs-tag->vlist accessing a non-cvs-tag" 1] 3])
(byte-code "\300\301\302\303#\210\300\304\305\306#\210\304\307N\204 \300\304\307\310#\210\300\207" [put cvs-tag->vlist setf-method #[(cl-x) "\301\302\303\304\305%\207" [cl-x cl-struct-setf-expander cvs-tag cvs-tag->vlist (and (memq (aref cl-x 0) cl-struct-cvs-tag-tags)) 1] 6] cvs-tag->name cl-compiler-macro #[(cl-whole cl-x) "\301\302\303\304\211\211&\207" [cl-x cl-defsubst-expand (cl-x) (block cvs-tag->name (or (and (memq (aref cl-x 0) cl-struct-cvs-tag-tags)) (error "cvs-tag->name accessing a non-cvs-tag" cl-x)) (aref cl-x 2)) nil] 7] byte-compile cl-byte-compile-compiler-macro] 4)
(defalias 'cvs-tag->name #[(cl-x) "\302H	>\204 \303\304\"\210\305H\207" [cl-x cl-struct-cvs-tag-tags 0 error "cvs-tag->name accessing a non-cvs-tag" 2] 3])
(byte-code "\300\301\302\303#\210\300\304\305\306#\210\304\307N\204 \300\304\307\310#\210\300\207" [put cvs-tag->name setf-method #[(cl-x) "\301\302\303\304\305%\207" [cl-x cl-struct-setf-expander cvs-tag cvs-tag->name (and (memq (aref cl-x 0) cl-struct-cvs-tag-tags)) 2] 6] cvs-tag->type cl-compiler-macro #[(cl-whole cl-x) "\301\302\303\304\211\211&\207" [cl-x cl-defsubst-expand (cl-x) (block cvs-tag->type (or (and (memq (aref cl-x 0) cl-struct-cvs-tag-tags)) (error "cvs-tag->type accessing a non-cvs-tag" cl-x)) (aref cl-x 3)) nil] 7] byte-compile cl-byte-compile-compiler-macro] 4)
(defalias 'cvs-tag->type #[(cl-x) "\302H	>\204 \303\304\"\210\305H\207" [cl-x cl-struct-cvs-tag-tags 0 error "cvs-tag->type accessing a non-cvs-tag" 3] 3])
(byte-code "\300\301\302\303#\210\300\304\305\306#\210\304\307N\204 \300\304\307\310#\210\300\207" [put cvs-tag->type setf-method #[(cl-x) "\301\302\303\304\305%\207" [cl-x cl-struct-setf-expander cvs-tag cvs-tag->type (and (memq (aref cl-x 0) cl-struct-cvs-tag-tags)) 3] 6] cvs-tag-p cl-compiler-macro #[(cl-whole cl-x) "\301\302\303\304\211\211&\207" [cl-x cl-defsubst-expand (cl-x) (block cvs-tag-p (and (vectorp cl-x) (>= (length cl-x) 4) (memq (aref cl-x 0) cl-struct-cvs-tag-tags) t)) nil] 7] byte-compile cl-byte-compile-compiler-macro] 4)
(defalias 'cvs-tag-p #[(cl-x) "\302!\205 G\303Y\205 \304H	>\205 \305\207" [cl-x cl-struct-cvs-tag-tags vectorp 4 0 t] 2])
(defalias 'copy-cvs-tag #[(x) "\301!\207" [x copy-sequence] 2])
(byte-code "\300\301\302\303#\210\301\304N\204 \300\301\304\305#\210\300\207" [put cvs-tag-make cl-compiler-macro #[(cl-whole vlist &rest #1=#:--rest--97273) "\211A@\211A@\203 \304\305\306G\307\\D\"\210\310\311\312\313\314\211	\n&*\207" [#1# name type vlist signal wrong-number-of-arguments cvs-tag-make 4 cl-defsubst-expand (vlist name type) (block cvs-tag-make (vector 'cl-struct-cvs-tag vlist name type)) t nil] 9] byte-compile cl-byte-compile-compiler-macro] 4)
(defalias 'cvs-tag-make #[(vlist &rest #1=#:--rest--97274) "\211A@\211A@\203 \304\305\306G\307\\D\"\210\310\311	\n$*\207" [#1# name type vlist signal wrong-number-of-arguments cvs-tag-make 3 vector cl-struct-cvs-tag] 5])
(byte-code "\302B\303C\304\305\306\307#\210\304\305\310\311#\210\304\305\312\313#\210\304\305\314\315#\210\304\316\317\315#\210\304\320\317\315#\210\304\321\317\322#\210\304\323\317\315#\210\304\324\317\315#\210\304\325\317\315#\207" [custom-print-functions cl-struct-cvs-tag-tags #[(cl-x cl-s cl-n) "\303!\205k G\304Y\205k \305H	>\205k \306\307\n\"\210\306\310\n\"\210\311\305H	>\204- \312\313\"\210\314H\n\"\210\306\315\n\"\210\311\305H	>\204F \312\316\"\210\317H\n\"\210\306\320\n\"\210\311\305H	>\204_ \312\321\"\210\322H\n\"\210\306\323\n\"\210\324\207" [cl-x cl-struct-cvs-tag-tags cl-s vectorp 4 0 princ "#S(cvs-tag" " vlist" prin1 error "cvs-tag->vlist accessing a non-cvs-tag" 1 " name" "cvs-tag->name accessing a non-cvs-tag" 2 " type" "cvs-tag->type accessing a non-cvs-tag" 3 ")" t] 4] cl-struct-cvs-tag put cvs-tag cl-struct-slots ((cl-tag-slot) (vlist) (name) (type)) cl-struct-type (vector nil) cl-struct-include nil cl-struct-print t cvs-tag-make side-effect-free copy-cvs-tag cvs-tag-p error-free cvs-tag->type cvs-tag->name cvs-tag->vlist] 4)
(defalias 'cvs-status-vl-to-str #[(vl) "\301\302\303#\207" [vl mapconcat number-to-string "."] 4])
(put 'cvs-status-vl-to-str 'byte-optimizer 'byte-compile-inline-expand)
(defalias 'cvs-tag->string #[(tag) ";\203 \207\305H	>\204 \306\307\"\210\310H\305H	>\204$ \306\311\"\210\312H\211\2048 \n\313\314\n\315#)\202\\ \n\203J \316\n\313\314\n\315#)\317Q\202K \320:\203X \321\322\"\202[ \fP)*\207" [tag cl-struct-cvs-tag-tags vl name rev 0 error "cvs-tag->name accessing a non-cvs-tag" 2 "cvs-tag->vlist accessing a non-cvs-tag" 1 mapconcat number-to-string "." " (" ")" "" mapcar #[(name) "	P\207" [name rev] 2]] 6])
(defalias 'cvs-tag-compare-1 #[(vl1 vl2) "\204\n 	\204\n \304\207\204 \305\207	\204 \306\207@	@\211\nV\203& \306\2026 \nW\2030 \305\2026 \307A	A\"*\207" [vl1 vl2 v2 v1 equal more2 more1 cvs-tag-compare-1] 4])
(defalias 'cvs-tag-compare #[(tag1 tag2) "\303\304H	>\204 \305\306\"\210\307H\n\304H	>\204 \305\306\n\"\210\n\307H\"\207" [tag1 cl-struct-cvs-tag-tags tag2 cvs-tag-compare-1 0 error "cvs-tag->vlist accessing a non-cvs-tag" 1] 5])
(put 'cvs-tag-compare 'byte-optimizer 'byte-compile-inline-expand)
#@31 Merge TAG1 and TAG2 into one.
(defalias 'cvs-tag-merge #[(tag1 tag2) "\306H	>\204 \307\310\"\210\311H\n\306H	>\204 \307\310\n\"\210\n\311H\306H	>\204- \307\312\"\210\313H\n\306H	>\204= \307\312\n\"\210\n\313H\306H	>\204R \307\314\"\210\315H\n\306H	>\204b \307\314\n\"\210\n\315H\232\204{ \306H	>\204v \307\316\"\210\315\317I\210\203\240 \203\262 \232\204\262 \306H	>\204\230 \307\320\"\210\311\317I\210\202\262 \306H	>\204\255 \307\320\"\210\311I\210\f\203\343 \fD\321\322\323\324\"\")\306H	>\204\330 \307\325\"\210\313I\210*\202\365 \306H	>\204\360 \307\325\"\210\313I\210,\207" [tag1 cl-struct-cvs-tag-tags tag2 name2 name1 type2 0 error "cvs-tag->type accessing a non-cvs-tag" 3 "cvs-tag->name accessing a non-cvs-tag" 2 "cvs-tag->vlist accessing a non-cvs-tag" 1 "cvs-tag->vlist storing a non-cvs-tag" nil "cvs-tag->type storing a non-cvs-tag" apply append mapcar #[(x) "<\203 \207C\207" [x] 1] "cvs-tag->name storing a non-cvs-tag" type1 #1=#:--x--97281 xs #2=#:--store--97282] 6 (#$ . 11663)])
#@378 Print the tree of TAGS where each tag's string is given by PRINTER.
PRINTER should accept both a tag (in which case it should return a string)
or a string (in which case it should simply return its argument).
A tag cannot be a CONS.  The return value can also be a list of strings,
if several nodes where merged into one.
The tree will be printed no closer than column COLUMN.
(defalias 'cvs-tree-print #[(tags printer column) "\212\306\210i)\211\307\\	]\n\204 	\202\n\211:\203! @\202\" )\f\211:\2031 @\2022 )!\310\311!\311\n!\"\212\312y\313U\204L \314c\210\315	#)\211	Y\204a \316\317\320C\"\210\321\322\"\210l\204q \316\317\323C\"\210\211:\203~ @\202 )c\210\311\f!\306 \211!\203	!@ i \211:\203\243 @\202\244 )!\211\"\211:\203\264 @\202\265 )G#\324#\307\245\325\"\326P$\212\327c\210\315\"$\311 !E%\330\310\331\332%\"\")i#)\212\321!\210`)`|\210\333\324	Z\307Z\334\"\333\261\210\306\210-!A\211!\204\216 *,*\207" [eol column tags x rev printer nil 2 append cvs-cdr 1 0 "\n" cvs-tree-print signal cl-assertion-failed (>= prefix column) move-to-column t (eolp) make-string 32 "|" " -- " apply mapcar #[(x) "<\203 \207C\207" [x] 1] " " 45 name rest prefix br #1=#:--dolist-temp--97285 brrev brlength brfill xs] 8 (#$ . 12729)])
#@116 Merge tags trees TREE1 and TREE2 into one.
BEWARE:  because of stability issues, this is not a symetric operation.
(defalias 'cvs-tree-merge #[(tree1 tree2) "<\203\n 	<\204 \306\307\310C\"\210\204 	\207	\204 \207@\211\211:\203+ @\202, )\211\311H>\204; \312\313\f\"\210\f\314H\211G	@\211\211:\203T @\202U )\211\311H>\204f \312\313\"\210\314H\211GU\203\351 \f\315\f\311H>\204\214 \312\313\f\"\210\f\314H\311H>\204\236 \312\313\"\210\314H\"*\211\316=\203\267 \317	A\"B\202\345 \320=\203\310 \n\317A	\"B\202\345 \321=\205\345 \322\f\"\317\323\n!\323!\"B\317A	A\"B)\202V\203\317\324\325\326!\327\211$BC	\"\202W\205\317\324\325\326!\327\211$	BC\".\207" [tree1 tree2 rev1 x tag1 cl-struct-cvs-tag-tags signal cl-assertion-failed (and (listp tree1) (listp tree2)) 0 error "cvs-tag->vlist accessing a non-cvs-tag" 1 cvs-tag-compare-1 more1 cvs-tree-merge more2 equal cvs-tag-merge cvs-cdr vector cl-struct-cvs-tag cvs-butlast nil vl1 l1 rev2 tag2 vl2 l2 #1=#:G97286] 8 (#$ . 14031)])
(defalias 'cvs-tag-make-tag #[(tag) "\302\303\304\3058\306\"\"\307\310	@\311A@!$)\207" [tag vl mapcar string-to-number split-string 2 "\\." vector cl-struct-cvs-tag intern] 6])
#@36 Make a tree out of a list of TAGS.
(defalias 'cvs-tags->tree #[(tags) "\302\303\"A\203) \304\203\" \305\211A@\211A@\"	B\202\f 	\237)\202 @)\207" [tags tl mapcar #[(tag) "\302!\211\303H	>\204 \304\305\"\210\306H\307=\204 \2026 \310\311\312\303H	>\204- \304\313\"\210\314H!\315\211$D)C\207" [tag cl-struct-cvs-tag-tags cvs-tag-make-tag 0 error "cvs-tag->type accessing a non-cvs-tag" 3 branch vector cl-struct-cvs-tag cvs-butlast "cvs-tag->vlist accessing a non-cvs-tag" 1 nil] 7] nil cvs-tree-merge] 4 (#$ . 15281)])
#@239 Look for a list of tags, read them in and delete them.
Returns NIL if there was an empty list of tags and T if there wasn't
even a list.  Else, return the list of tags where each element of
the list is a three-string list TAG, KIND, REV.
(defalias 'cvs-status-get-tags #[nil "\306\307	\306\310#\204 \310\202\363 \311u\210`\306\310\312\313!\204\355 \312\314!\2036 \315\311!\315\316!\315\317!EB\311y\210\202 \312\320!\204A \306\fb\210\204\355 \312\321!\204U \203x \312\322!\203x \315\316!\206\\ \315\317!\315\311!\323\232\203l \324\202m \325EB\311y\210\202E \312\320!\204\203 \306\fb\210\237\211\204\355 \326\326\327\330R \331Q! \332\333\260\"\312\"!\204\273 \312!!\204\273 \312!\203\336 \315\317!\315\311!\203\310 \324\202\311 \325\315\334!EB\335\225b\210l\203\246 \311u\210\202\246 ,\312\320!\204\352 \306\fb\210\237\f`|\210+)\207" [tags cvs-status-tags-leader-re case-fold-search lastrev pt re-lead nil re-search-forward t 1 looking-at "\\s-+no\\s-+tags" "^[ 	]+\\([^ 	\n]+\\)[ 	]+(\\([a-z]+\\): \\(.+\\))$" match-string 2 3 "^$" "^   .+\\(.\\)  \\([0-9.]+\\): \\([^\n	 .0-9][^\n	 ]*\\)?$" "^   .+\\(\\)  \\(8\\)?  \\([^\n	 .0-9][^\n	 ]*\\)$" " " "branch" "revision" "[ 	]*\\(-+\\)?\\(|\n?[ 	]+\\)*" "\\(\\.\\)?\\(" "\\)" "\\(\\)" " (\\(" "\\))" 4 0 cvs-status-rev-re re3 cvs-status-tag-re re2 re1] 5 (#$ . 15828)])
(byte-code "\301B\301\207" [current-load-list font-lock-mode] 2)
(defalias 'cvs-refontify #[(beg end) "\303\300!\205 \205 \304\305!\205 \305	S\nT\"\207" [font-lock-mode beg end boundp fboundp font-lock-fontify-region] 3])
#@56 Look for a lists of tags, and replace them with trees.
(defalias 'cvs-status-trees #[nil "\212eb\210\303\304\305 \211<\205% \214``}\210\306\216\303\307\310!\311\312#\210+\202 +\207" [tags inhibit-read-only combine-after-change-calls t nil cvs-status-get-tags ((combine-after-change-execute)) cvs-tree-print cvs-tags->tree cvs-tag->string 3] 4 (#$ . 17422) nil])
#@125 *Non-nil if we should use the graphical glyphs from `japanese-jisx0208'.
Otherwise, default to ASCII chars like +, - and |.
(defvar cvs-tree-use-jisx0208 nil (#$ . -17797))
(byte-code "\302B	\203 \306\307\310\211#\202 \311\303B	\203\" \306\307\312\313#\202# \314\304B	\2034 \306\307\312\315#\2025 \316\305B	\203F \306\307\312\317#\202G \320\321B	\203X \306\307\312\322#\202Y \323\324B	\203k \306\307\312\325#\202l \320\302\207" [current-load-list cvs-tree-use-jisx0208 cvs-tree-char-space cvs-tree-char-hbar cvs-tree-char-vbar cvs-tree-char-branch make-char-internal 146 33 "  " 40 44 "--" 45 "| " 50 "+-" cvs-tree-char-eob 49 "`-" cvs-tree-char-bob 51] 4)
(defalias 'cvs-tag-lessp #[(tag1 tag2) "	\303\304H\n>\204 \305\306\"\210\307H	\304H\n>\204\" \305\306	\"\210	\307H\"*\310=\207" [tag1 tag2 cl-struct-cvs-tag-tags cvs-tag-compare-1 0 error "cvs-tag->vlist accessing a non-cvs-tag" 1 more2] 5])
(byte-code "\301B\302\301!\204\f \303\303\207" [current-load-list cvs-tree-nomerge boundp nil] 2)
#@111 Look for a list of tags, and replace it with a tree.
Optional prefix ARG chooses between two representations.
(defalias 'cvs-status-cvstrees #[(&optional arg) "\203 	\204 \306 \307\211\310\216\311ed\312#\210\313\307!\210,\212eb\210\307\314\203, ?\202. \315 \211<\205\217 \316\317\"\320\321\"\211@\322!\205} G\323Y\205} \324H>\205} \324H>\204w \325\326\"\210\327H@C\330\216\307\331\"\210-\2023 ,\207" [cvs-tree-use-jisx0208 enable-multibyte-characters inhibit-modification-hooks inhibit-read-only modified arg buffer-modified-p t ((restore-buffer-modified-p modified)) decode-coding-region undecided set-buffer-multibyte nil cvs-status-get-tags mapcar cvs-tag-make-tag sort cvs-tag-lessp vectorp 4 0 error "cvs-tag->vlist accessing a non-cvs-tag" 1 ((combine-after-change-execute)) cvs-tree-tags-insert cvs-tree-nomerge tags first cl-struct-cvs-tag-tags prev combine-after-change-calls] 5 (#$ . 18833) "P"])
(defalias 'cvs-tree-tags-insert #[(tags prev) "\205\314@\211\306H\n>\204 \307\310	\"\210	\311H\211A@)\211:\203) \f@\202* \f)\"\203O \203O \306H\n>\204C \307\310\"\210\311H\232\203O #\202P $\312\313$##*$\212\314 \210\315A$\")%\316&\317'\320c\210(#)%\211*\204\213 (\204\213 )\203S&\205\227 )@(@\232+)\211A@)(\211A@)\232,*@\203\317 +\203\310 ,\203\301 \316-B\202,\316.B\202,\317/B\202,+\203\347 ,\203\340 \3170B\202,\3161B\202,\317	\306H\n>\204\365 \307\321	\"\210	\322H\323=\203)\324*232:\20332\211A2@!\204\316\2112\2022*\204)0\202+4B\2115Ac\2105@'B')+&*(A()A)*A\211*\202~ 6\325\3266\327#)7\330\312\331##232:\203\20432\211A2@!\204j\316\2112\202l2*\204\253\3327G\333\\\334\"	\306H\n>\204\237\307\335	\"\210	\336H\206\246\337\261\202\305\3407\341	\306H\n>\204\274\307\335	\"\210	\336H\206\303\337\261,\210'\237.\207" [tags tag cl-struct-cvs-tag-tags vlist x next 0 error "cvs-tag->vlist accessing a non-cvs-tag" 1 cvs-map #[(v p) "\207" [v] 1] newline cvs-tree-tags-insert t nil "   " "cvs-tag->type accessing a non-cvs-tag" 3 branch null mapconcat number-to-string "." identity equal make-string 4 32 "cvs-tag->name accessing a non-cvs-tag" 2 "" "  " ": " cvs-tree-nomerge prev nprev after pe nas vs ps as eq next-eq cvs-tree-char-vbar cvs-tree-char-branch cvs-tree-char-bob cvs-tree-char-space cvs-tree-char-eob -cvs-every-l -cvs-every-f cvs-tree-char-hbar na+char vl revname] 8])
(defalias 'cvs-tree-fuzzy-merge-1 #[(trees tree prev) "\300\207" [nil] 1])
#@44 Do the impossible:  merge TREE into TREES.
(defalias 'cvs-tree-fuzzy-merge #[(trees tree) "\300\207" [nil] 1 (#$ . 21374)])
#@69 Get tags from the status output and merge tham all into a big tree.
(defalias 'cvs-tree #[nil "\212eb\210\304\305\306\307\"\310\311\312 !\211<\203 \313	\"\210\202 \314 \210\310\315\316\317#-\207" [tree trees inhibit-read-only cvs-tag-print-rev t make-vector 31 0 nil cvs-tags->tree cvs-status-get-tags cvs-tree-fuzzy-merge erase-buffer cvs-tree-print cvs-tag->string 3] 4 (#$ . 21504)])
(provide 'cvs-status)
