;ELC
;;; Compiled by LTX@Xue-LingTaos-MacBook-Pro.local on Wed Mar 16 23:19:20 2011
;;; from file /Users/LTX/Projects/Emacs/emacs/lisp/vc/cvs-status.el
;;; in Emacs version 24.0.50.1
;;; with all optimizations.

;;; This file contains utf-8 non-ASCII characters,
;;; and so cannot be loaded into Emacs 22 or earlier.
(and (boundp 'emacs-version)
     (< (aref emacs-version (1- (length emacs-version))) ?A)
     (string-lessp emacs-version "23")
     (error "`cvs-status.el' was compiled for Emacs 23 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) (">" . cvs-mode-checkout)) nil boundp :group cvs-status :inherit cvs-mode-map] 8) (#$ . 755))
#@43 Hook run at the end of `cvs-status-mode'.
(defvar cvs-status-mode-hook nil (#$ . 1212))
(byte-code "\302B\306\307!\210\301B\310\311!\210\312B\313\314!\210\303B\315\316!\210\304B\317\320!\210\321B\322	\323B\n\324B\f\325BED!\210\326B\327\330!\210\331\332\333\334#\210\335\336N\204W\331\335\336\337\340!#\210\341\342!\204c\331\342\343\332#\210\342B\344\342!\204s\345\342\346 \"\210\342\336N\204\201\331\342\336\337\347!#\210\341\350!\204\215\331\350\343\332#\210\350B\344\350!\204\235\345\350\351 \"\210\350\336N\204\253\331\350\336\337\352!#\210\331\305\343\332#\210\305B\344\305!\204\305\345\305\353\305\354\"\210
\"\210\305\336N\204\323\331\305\336\337\355!#\210\331\332\356\354#\207" [current-load-list cvs-status-entry-leader-re cvs-status-tags-leader-re cvs-status-rev-re cvs-status-tag-re cvs-status-mode-abbrev-table (lambda (#1=#:defconst-tmp-var) (defconst cvs-status-tags-leader-re #1#)) "^   Existing Tags:$" (lambda (#2=#:defconst-tmp-var) (defconst cvs-status-entry-leader-re #2#)) "^File:\\s-+\\(?:no file \\)?\\(.*\\S-\\)\\s-+Status: \\(.+\\)$" cvs-status-dir-re (lambda (#3=#:defconst-tmp-var) (defconst cvs-status-dir-re #3#)) "^cvs[.ex]* [a-z]+: Examining \\(.+\\)$" (lambda (#4=#:defconst-tmp-var) (defconst cvs-status-rev-re #4#)) "[0-9][.0-9]*\\.[.0-9]*[0-9]" (lambda (#5=#:defconst-tmp-var) (defconst cvs-status-tag-re #5#)) "[ 	]\\([a-zA-Z][^ 	\n.]*\\)" cvs-status-font-lock-keywords (lambda (#6=#:defconst-tmp-var) (defconst cvs-status-font-lock-keywords #6#)) ((1 'cvs-filename) (2 'cvs-need-action)) ((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 (lambda (#7=#:defconst-tmp-var) (defconst cvs-status-font-lock-defaults #7#)) (cvs-status-font-lock-keywords t nil nil nil (font-lock-multiline . t)) put cvs-status-mode mode-class special cvs-status-mode-hook variable-documentation purecopy "Hook run when entering CVS-Status mode.\nNo problems result if this variable is not bound.\n`add-hook' automatically binds it.  (This is true for all hook variables.)" boundp cvs-status-mode-map definition-name default-boundp set-default make-sparse-keymap "Keymap for `cvs-status-mode'." cvs-status-mode-syntax-table make-syntax-table "Syntax table for `cvs-status-mode'." define-abbrev-table nil "Abbrev table for `cvs-status-mode'." derived-mode-parent] 6)
#@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\300!\210\307\310 \210\311\312\313!\210\314\f!\210
\306\315!\210
\306\316!\210\317)\320\321!\207" [delay-mode-hooks major-mode mode-name cvs-status-mode-map cvs-status-mode-syntax-table cvs-status-mode-abbrev-table make-local-variable t fundamental-mode cvs-status-mode "CVS-Status" use-local-map set-syntax-table font-lock-defaults cvs-minor-wrap-function cvs-status-minor-wrap run-mode-hooks cvs-status-mode-hook local-abbrev-table cvs-status-font-lock-defaults] 2 (#$ . 3848) 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	!\203T\307	\310\311$\2041\306	!\203,db\207\312\313\314\"\207\304\224b\210p\315\316 !=\205^\317\320!\205^\212\307	\310\311\321$)\206Pd\322\n\310\311#?\205]\323\324!)\207" [count cvs-status-entry-leader-re endpt 1 0 cvs-status-prev looking-at re-search-forward nil t error "No next %s" "entry" window-buffer selected-window called-interactively-p interactive 2 pos-visible-in-window-p recenter (0)] 5 (#$ . 4605) "p"])
(put 'cvs-status-next 'definition-name 'cvs-status)
#@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\312\"\207" [count cvs-status-entry-leader-re 1 0 cvs-status-next re-search-backward nil t error "No previous %s" "entry"] 5 (#$ . 5211) "p"])
(put 'cvs-status-prev 'definition-name 'cvs-status)
(defalias 'cvs-status-current-file #[nil "\212\306y\210\307\310\311#\204\312!\210\313\306!\307\n\310\311#\205\313\306!\314\304!\2051\307\f\310\311#\2051\313\306!\315\211
\203C\316
\"\203N\316\"\316	\".\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 boundp "" expand-file-name dir default-directory] 5])
(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#\203gi\212\314\224b\210i)\315Z!\315Z!^\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) "rq\210\306 \307 B	\205\212\310 b\210\306 \307 )B)B\211\211@A)\n\211@A)\2050\n\211AA)\n\211@@)\n\211A@)\205W\n\211@@)\n\211A@)\232?\205W\n\211A@)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\302\303\304#\210\302\305N\204\301\302\305\306#\210\307\301\302\310\311\312!!#\210)\301\207" [file put cvs-tag->vlist cl-compiler-macro #[(--cl-whole-arg-- 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")) (aref cl-x 1)) nil] 7] byte-compile cl-byte-compile-compiler-macro "/Users/LTX/Projects/Emacs/emacs/lisp/vc/cvs-status.el" compiler-macro-file purecopy file-name-nondirectory] 6)
(defalias 'cvs-tag->vlist #[(cl-x) "\302H	>\204\f\303\304!\210\305H\207" [cl-x cl-struct-cvs-tag-tags 0 error "cvs-tag->vlist accessing a non-cvs-tag" 1] 2])
(byte-code "\301\302\303\304#\210\301\305\306\307#\210\305\310N\204%\301\305\310\311#\210\312\301\305\313\314\315!!#\210)\301\207" [file 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 #1=(and (memq (aref cl-x 0) cl-struct-cvs-tag-tags)) 1] 6] cvs-tag->name cl-compiler-macro #[(--cl-whole-arg-- cl-x) "\301\302\303\304\211\211&\207" [cl-x cl-defsubst-expand (cl-x) (block cvs-tag->name (or #1# (error "cvs-tag->name accessing a non-cvs-tag")) (aref cl-x 2)) nil] 7] byte-compile cl-byte-compile-compiler-macro "/Users/LTX/Projects/Emacs/emacs/lisp/vc/cvs-status.el" compiler-macro-file purecopy file-name-nondirectory] 6)
(defalias 'cvs-tag->name #[(cl-x) "\302H	>\204\f\303\304!\210\305H\207" [cl-x cl-struct-cvs-tag-tags 0 error "cvs-tag->name accessing a non-cvs-tag" 2] 2])
(byte-code "\301\302\303\304#\210\301\305\306\307#\210\305\310N\204%\301\305\310\311#\210\312\301\305\313\314\315!!#\210)\301\207" [file 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 #1=(and (memq (aref cl-x 0) cl-struct-cvs-tag-tags)) 2] 6] cvs-tag->type cl-compiler-macro #[(--cl-whole-arg-- cl-x) "\301\302\303\304\211\211&\207" [cl-x cl-defsubst-expand (cl-x) (block cvs-tag->type (or #1# (error "cvs-tag->type accessing a non-cvs-tag")) (aref cl-x 3)) nil] 7] byte-compile cl-byte-compile-compiler-macro "/Users/LTX/Projects/Emacs/emacs/lisp/vc/cvs-status.el" compiler-macro-file purecopy file-name-nondirectory] 6)
(defalias 'cvs-tag->type #[(cl-x) "\302H	>\204\f\303\304!\210\305H\207" [cl-x cl-struct-cvs-tag-tags 0 error "cvs-tag->type accessing a non-cvs-tag" 3] 2])
(byte-code "\301\302\303\304#\210\301\305\306\307#\210\305\310N\204%\301\305\310\311#\210\312\301\305\313\314\315!!#\210)\301\207" [file 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 #1=(memq (aref cl-x 0) cl-struct-cvs-tag-tags)) 3] 6] cvs-tag-p cl-compiler-macro #[(--cl-whole-arg-- 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) #1# t)) nil] 7] byte-compile cl-byte-compile-compiler-macro "/Users/LTX/Projects/Emacs/emacs/lisp/vc/cvs-status.el" compiler-macro-file purecopy file-name-nondirectory] 6)
(defalias 'cvs-tag-p #[(cl-x) "\302!\205G\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 "\301\302\303\304#\210\302\305N\204\301\302\305\306#\210\307\301\302\310\311\312!!#\210)\301\207" [file put cvs-tag-make cl-compiler-macro #[(--cl-whole-arg-- vlist &rest #1=#:--cl-rest--) "\211A@\211A@\203\304\305\306\307G\\D\"\210\310\311\312\313\211\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)) nil] 9 "Not documented\n\n(fn --CL-WHOLE-ARG-- &cl-quote VLIST &optional NAME TYPE)"] byte-compile cl-byte-compile-compiler-macro "/Users/LTX/Projects/Emacs/emacs/lisp/vc/cvs-status.el" compiler-macro-file purecopy file-name-nondirectory] 6)
#@48 Not documented

(fn VLIST &optional NAME TYPE)
(defalias 'cvs-tag-make #[(vlist &rest #1=#:--cl-rest--) "\211A@\211A@\203\304\305\306\307G\\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 (#$ . 10836)])
(byte-code "\302B\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!\205hG\304Y\205h\305H	>\205h\306\307\n\"\210\306\310\n\"\210\311\305H	>\204,\312\313!\210\314H\n\"\210\306\315\n\"\210\311\305H	>\204D\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] 3] 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\2046\n\313\314\n\315#)\202Z\n\203H\316\n\313\314\n\315#)\317Q\202I\320:\203V\321\322\"\202Y\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\307A	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!\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] 4])
(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\f\307\310!\210\311H\n\306H	>\204\307\310!\210\n\311H\306H	>\204*\307\312!\210\313H\n\306H	>\2049\307\312!\210\n\313H\306H	>\204M\307\314!\210\315H\n\306H	>\204\\\307\314!\210\n\315H\232\204t\306H	>\204o\307\316!\210\315\317I\210\203\230
\203\251
\232\204\251\306H	>\204\220\307\320!\210\311\317I\210\202\251\306H	>\204\244\307\320!\210\311
I\210\f\203\330\fD\321\322\323\324\"\")\306H	>\204\315\307\325!\210\313I\210*\202\351\306H	>\204\344\307\325!\210\313I\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\207C\207" [x] 1] "cvs-tag->name storing a non-cvs-tag" type1 #1=#:--cl-x-- xs #2=#:--cl-store--] 5 (#$ . 13347)])
#@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\334 	\307#\335\"\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\207C\207" [x] 1] " " - 45 name rest prefix br #1=#:--cl-dolist-temp-- brrev brlength brfill xs] 8 (#$ . 14385)])
#@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!\210\f\314H\211G	@\211\211:\203S@\202T)\211\311H
>\204c\312\313!\210\314H\211GU\203\343\f\315\f\311H
>\204\210\312\313!\210\f\314H\311H
>\204\230\312\313!\210\314H\"*\211\316=\203\261\317	A\"B\202\337\320=\203\302\n\317A	\"B\202\337\321=\205\337\322\f\"\317\323\n!\323!\"B\317A	A\"B)\202V\203\375\317\324\325\326!\327\211$BC	\"\202W\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 butlast nil vl1 l1 rev2 tag2 vl2 l2 #1=#:--cl-var--] 8 (#$ . 15692)])
(defalias 'cvs-tag-make-tag #[(tag) "\305\306\307\3108\311\"\"\211@\312A@!\313\314\f\n$,\207" [tag vl type name vlist mapcar string-to-number split-string 2 "\\." intern vector cl-struct-cvs-tag] 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\2024\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 butlast "cvs-tag->vlist accessing a non-cvs-tag" 1 nil] 6] nil cvs-tree-merge] 4 (#$ . 16960)])
#@238 Look for a list of tags, read them in and delete them.
Return 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!EB\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\325EB\311y\210\202E\312\320!\204\203\306\fb\210\237\211\204\355\326\211\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!EB\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] 6 (#$ . 17499)])
#@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 (#$ . 18864) nil])
(byte-code "\301B\302\301!\204\303\301\304\"\210\304\207" [current-load-list cvs-tree-use-jisx0208 default-boundp set-default nil] 3)
#@125 *Non-nil if we should use the graphical glyphs from `japanese-jisx0208'.
Otherwise, default to ASCII chars like +, - and |.
(defvar cvs-tree-use-charset (byte-code "\203\301\207\302\303!\203\304\207\302\305\306\307\310#!\205\301\207" [cvs-tree-use-jisx0208 jisx0208 char-displayable-p 9473 unicode make-char japanese-jisx0208 40 44] 5) (#$ . -19377))
(byte-code "\302B\303	\304=\203\305\306\307\211#\202	\310=\203\311\202\312!\210\313B\314	\304=\2033\305\306\315\316#\202>	\310=\203=\317\202>\320!\210\321B\322	\304=\203S\305\306\315\323#\202^	\310=\203]\324\202^\325!\210\326B\327	\304=\203s\305\306\315\330#\202~	\310=\203}\331\202~\332!\210\333B\334	\304=\203\223\305\306\315\335#\202\236	\310=\203\235\336\202\236\337!\210\340B\341	\304=\203\263\305\306\315\342#\202\276	\310=\203\275\343\202\276\332!\207" [current-load-list cvs-tree-use-charset cvs-tree-char-space (lambda (#1=#:defconst-tmp-var) (defconst cvs-tree-char-space #1#)) jisx0208 make-char japanese-jisx0208 33 unicode " " "  " cvs-tree-char-hbar (lambda (#2=#:defconst-tmp-var) (defconst cvs-tree-char-hbar #2#)) 40 44 "â”�" "--" cvs-tree-char-vbar (lambda (#3=#:defconst-tmp-var) (defconst cvs-tree-char-vbar #3#)) 45 "â”ƒ" "| " cvs-tree-char-branch (lambda (#4=#:defconst-tmp-var) (defconst cvs-tree-char-branch #4#)) 50 "â”£" "+-" cvs-tree-char-eob (lambda (#5=#:defconst-tmp-var) (defconst cvs-tree-char-eob #5#)) 49 "â”—" "`-" cvs-tree-char-bob (lambda (#6=#:defconst-tmp-var) (defconst cvs-tree-char-bob #6#)) 51 "â”³"] 5)
(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] 4])
(byte-code "\301B\302\301!\204\303\301\304\"\210\304\207" [current-load-list cvs-tree-nomerge default-boundp set-default nil] 3)
#@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\215\316\317\"\320\321\"\211@\322!\205{G\323Y\205{\324H>\205{\324H>\204u\325\326!\210\327H@C\330\216\307\331\"\210-\2023,\207" [cvs-tree-use-charset 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 (#$ . 21306) "P"])
(defalias 'cvs-tree-tags-insert #[(tags prev) "\205\307@\211\306H\n>\204\307\310!\210	\311H\211A@)\211:\203(\f@\202)\f)\"\203M
\203M
\306H\n>\204A\307\310!\210
\311H\232\203M#\202N$\312\313$##*$\212\314 \210\315A$\")%\316&\317'\320c\210(#)%\211*\204\211(\204\211)\203P&\205\225)@(@\232+)\211A@)(\211A@)\232,*@\203\315+\203\306,\203\277\316-B\202)\316.B\202)\317/B\202)+\203\345,\203\336\3170B\202)\3161B\202)\317	\306H\n>\204\362\307\321!\210	\322H\323=\203&\324*232:\20332\211A2@!\204\316\2112\2022*\204&0\202(4B\2115Ac\2105@'B')+&*(A()A)*A\211*\202|6\325\3266\327#)7\330\312\331##232:\203\20132\211A2@!\204g\316\2112\202i2*\204\247\332\3337G\\\334\"	\306H\n>\204\233\307\335!\210	\336H\206\242\337\261\202\300\3407\341	\306H\n>\204\267\307\335!\210	\336H\206\276\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] 7])
(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 (#$ . 23833)])
#@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 (#$ . 23963)])
(provide 'cvs-status)
