;ELC ;;; Compiled by cyd@localhost on Mon Apr 23 22:20:36 2007 ;;; from file /home/cyd/emacs/lisp/cvs-status.el ;;; in Emacs version 22.0.99 ;;; with all optimizations. ;;; This file contains multibyte non-ASCII characters ;;; and therefore cannot be loaded into Emacs 19. (if (and (boundp 'emacs-version) (< (aref emacs-version (1- (length emacs-version))) ?A) (or (and (boundp 'epoch::version) epoch::version) (string-lessp emacs-version "20"))) (error "`cvs-status.el' was compiled for Emacs 20 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) (#$ . 775)) #@43 Hook run at the end of `cvs-status-mode'. (defvar cvs-status-mode-hook nil (#$ . 1232)) (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\204U\331\335\336\337#\210\340\341!\204a\331\341\342\332#\210\341B\343\341!\204q\344\341\345 \"\210\340\346!\204}\331\346\342\332#\210\346B\343\346!\204\215\344\346\347 \"\210\331\305\342\332#\210\305B\343\305!\204\247\344\305\350\305\351\"\210 \"\210\331\332\352\351#\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 "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 cvs-status-mode-syntax-table make-syntax-table define-abbrev-table nil 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!\2032\321\322!\207\323\322!\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 kill-all-local-variables cvs-status-mode "CVS-Status" use-local-map set-syntax-table font-lock-defaults cvs-minor-wrap-function cvs-status-minor-wrap fboundp run-mode-hooks cvs-status-mode-hook run-hooks local-abbrev-table cvs-status-font-lock-defaults] 2 (#$ . 3611) 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\304\305W\203\306[!\207\307 !\203T\310\311 \310\312$\2049\307 !\2031db\210\202d\313\314\315\"\210\202d\305\224b\210p\316\317 !=\203dt\203d\212\311 \310\312\320$)\206Vd\321 \310\312#\204c\322\323!\210))\310\207" [count cvs-status-entry-leader-re was-narrowed endpt 1 0 cvs-status-prev looking-at nil re-search-forward t error "No next %s" "entry" window-buffer selected-window 2 pos-visible-in-window-p recenter (0)] 5 (#$ . 4422) "p"]) (put 'cvs-status-next 'definition-name 'cvs-status) #@35 Go to the previous COUNT'th entry (defalias 'cvs-status-prev #[(&optional count) "\204\303\304W\203\305[!\207\306\307\n\306\310$\204!\311\312\313\"\210)\306\207" [count was-narrowed cvs-status-entry-leader-re 1 0 cvs-status-next nil re-search-backward t error "No previous %s" "entry"] 5 (#$ . 5022) "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)\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) "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 "\300\301\302\303#\210\301\304N\204\300\301\304\305#\210\300\207" [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] 4) (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 "\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 #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] 4) (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 "\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 #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] 4) (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 "\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 #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] 4) (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 "\300\301\302\303#\210\301\304N\204\300\301\304\305#\210\300\207" [put cvs-tag-make cl-compiler-macro #[(--cl-whole-arg-- vlist &rest #1=#:--cl-rest--) "\211A@\211A@\203\304\305\306G\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 "Not documented\n\n(fn --CL-WHOLE-ARG-- &cl-quote VLIST &optional NAME TYPE)"] byte-compile cl-byte-compile-compiler-macro] 4) #@48 Not documented (fn VLIST &optional NAME TYPE) (defalias 'cvs-tag-make #[(vlist &rest #1=#:--cl-rest--) "\211A@\211A@\203\304\305\306G\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 (#$ . 9941)]) (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\f D\321\322\323\324\"\")\306H >\204\315\307\325!\210\313I\210*\202\351\306H >\204\344\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\207C\207" [x] 1] "cvs-tag->name storing a non-cvs-tag" type1 #1=#:--cl-x-- xs #2=#:--cl-store--] 5 (#$ . 12451)]) #@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\207C\207" [x] 1] " " 45 name rest prefix br #1=#:--cl-dolist-temp-- brrev brlength brfill xs] 8 (#$ . 13489)]) #@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 (#$ . 14789)]) (defalias 'cvs-tag-make-tag #[(tag) "\302\303\304\3058\306\"\"\307\310 @\311A@!$)\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\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 (#$ . 16030)]) #@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\325 EB\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 (#$ . 16569)]) (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 (#$ . 18095) 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 299041 unicode make-char-internal 146 40 44] 5) (#$ . -18608)) (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-internal 146 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 (#$ . 20534) "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\3327G\333\\\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 (#$ . 23061)]) #@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 (#$ . 23191)]) (provide 'cvs-status)