;ELC   
;;; Compiled by pot@pot.cnuce.cnr.it on Tue Mar 18 15:49:21 2003
;;; from file /home/pot/gnu/emacs-pretest.new/lisp/pcvs-info.el
;;; in Emacs version 21.3
;;; with bytecomp version 2.85.4.1
;;; 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 "`pcvs-info.el' was compiled for Emacs 20 or later"))

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


(require 'pcvs-util)
#@133 *Specifies how the filenames should look like in the listing.
If t, their full path name will be displayed, else only the filename.
(custom-declare-variable 'cvs-display-full-path 't '(#$ . -642) :group 'pcl-cvs :type '(boolean))
(byte-code "\301B\302B\301\207" [current-load-list global-font-lock-mode font-lock-auto-fontify] 2)
#@61 *Whether to use text highlighting (à la font-lock) or not.
(custom-declare-variable 'cvs-highlight '(or (and (boundp 'font-lock-auto-fontify) font-lock-auto-fontify) (and (boundp 'global-font-lock-mode) global-font-lock-mode)) '(#$ . -982) :group 'pcl-cvs :type '(boolean))
#@216 *Allow `cvs-mode-commit' on directories.
If you commit without any marked file and with the cursor positioned
on a directory entry, cvs would commit the whole directory.  This seems
to confuse some users sometimes.
(custom-declare-variable 'cvs-allow-dir-commit 'nil '(#$ . -1264) :group 'pcl-cvs :type '(boolean))
(byte-code "\304\305\306\307\310\311%\210\304\312\313\314\310\311%\210\304\315\316\317\310\311%\210\304\320\321\322\310\311%\210\304\323\324\325\310\311%\210\304\326\327\330\310\311%\210\304\331\332\333\310\311%\210\301B\334\301!\204D \320\302B\334\302!\204P \315\303B\334\303!\204\\ \335\304\207" [current-load-list cvs-fi-up-to-date-face cvs-fi-unknown-face cvs-fi-conflict-face custom-declare-face cvs-header-face ((((class color) (background dark)) (:foreground "lightyellow" :bold t)) (((class color) (background light)) (:foreground "blue4" :bold t)) (t (:bold t))) "PCL-CVS face used to highlight directory changes." :group pcl-cvs cvs-filename-face ((((class color) (background dark)) (:foreground "lightblue")) (((class color) (background light)) (:foreground "blue4")) (t nil)) "PCL-CVS face used to highlight file names." cvs-unknown-face ((((class color) (background dark)) (:foreground "red")) (((class color) (background light)) (:foreground "red")) (t (:italic t))) "PCL-CVS face used to highlight unknown file status." cvs-handled-face ((((class color) (background dark)) (:foreground "pink")) (((class color) (background light)) (:foreground "pink")) (t nil)) "PCL-CVS face used to highlight handled file status." cvs-need-action-face ((((class color) (background dark)) (:foreground "orange")) (((class color) (background light)) (:foreground "orange")) (t (:italic t))) "PCL-CVS face used to highlight status of files needing action." cvs-marked-face ((((class color) (background dark)) (:foreground "green" :bold t)) (((class color) (background light)) (:foreground "green3" :bold t)) (t (:bold t))) "PCL-CVS face used to highlight marked file indicator." cvs-msg-face ((t (:italic t))) "PCL-CVS face used to highlight CVS messages." boundp font-lock-warning-face] 6)
#@58 The prefix that CVS prepends to files when rcsmerge'ing.
(defvar cvs-bakprefix ".#" (#$ . 3382))
#@44 Local keymap for text properties of status
(defconst cvs-status-map (byte-code "\301\302\303\304\300!\205\n \303$\207" [cvs-status-map easy-mmode-define-keymap (([(mouse-2)] . cvs-mouse-toggle-mark)) nil boundp] 5) (#$ . 3485))
(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-fileinfo-tags put cvs-fileinfo->marked cl-compiler-macro #[(cl-whole cl-x) "\301\302\303\304\211\211&\207" [cl-x cl-defsubst-expand (cl-x) (block cvs-fileinfo->marked (or (and (memq (aref cl-x 0) cl-struct-cvs-fileinfo-tags)) (error "cvs-fileinfo->marked accessing a non-cvs-fileinfo" cl-x)) (aref cl-x 1)) nil] 7] byte-compile cl-byte-compile-compiler-macro] 4)
(defalias 'cvs-fileinfo->marked #[(cl-x) "\302H	>\204 \303\304\"\210\305H\207" [cl-x cl-struct-cvs-fileinfo-tags 0 error "cvs-fileinfo->marked accessing a non-cvs-fileinfo" 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-fileinfo->marked setf-method #[(cl-x) "\301\302\303\304\305%\207" [cl-x cl-struct-setf-expander cvs-fileinfo cvs-fileinfo->marked (and (memq (aref cl-x 0) cl-struct-cvs-fileinfo-tags)) 1] 6] cvs-fileinfo->type cl-compiler-macro #[(cl-whole cl-x) "\301\302\303\304\211\211&\207" [cl-x cl-defsubst-expand (cl-x) (block cvs-fileinfo->type (or (and (memq (aref cl-x 0) cl-struct-cvs-fileinfo-tags)) (error "cvs-fileinfo->type accessing a non-cvs-fileinfo" cl-x)) (aref cl-x 2)) nil] 7] byte-compile cl-byte-compile-compiler-macro] 4)
(defalias 'cvs-fileinfo->type #[(cl-x) "\302H	>\204 \303\304\"\210\305H\207" [cl-x cl-struct-cvs-fileinfo-tags 0 error "cvs-fileinfo->type accessing a non-cvs-fileinfo" 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-fileinfo->type setf-method #[(cl-x) "\301\302\303\304\305%\207" [cl-x cl-struct-setf-expander cvs-fileinfo cvs-fileinfo->type (and (memq (aref cl-x 0) cl-struct-cvs-fileinfo-tags)) 2] 6] cvs-fileinfo->subtype cl-compiler-macro #[(cl-whole cl-x) "\301\302\303\304\211\211&\207" [cl-x cl-defsubst-expand (cl-x) (block cvs-fileinfo->subtype (or (and (memq (aref cl-x 0) cl-struct-cvs-fileinfo-tags)) (error "cvs-fileinfo->subtype accessing a non-cvs-fileinfo" cl-x)) (aref cl-x 3)) nil] 7] byte-compile cl-byte-compile-compiler-macro] 4)
(defalias 'cvs-fileinfo->subtype #[(cl-x) "\302H	>\204 \303\304\"\210\305H\207" [cl-x cl-struct-cvs-fileinfo-tags 0 error "cvs-fileinfo->subtype accessing a non-cvs-fileinfo" 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-fileinfo->subtype setf-method #[(cl-x) "\301\302\303\304\305%\207" [cl-x cl-struct-setf-expander cvs-fileinfo cvs-fileinfo->subtype (and (memq (aref cl-x 0) cl-struct-cvs-fileinfo-tags)) 3] 6] cvs-fileinfo->dir cl-compiler-macro #[(cl-whole cl-x) "\301\302\303\304\211\211&\207" [cl-x cl-defsubst-expand (cl-x) (block cvs-fileinfo->dir (or (and (memq (aref cl-x 0) cl-struct-cvs-fileinfo-tags)) (error "cvs-fileinfo->dir accessing a non-cvs-fileinfo" cl-x)) (aref cl-x 4)) nil] 7] byte-compile cl-byte-compile-compiler-macro] 4)
(defalias 'cvs-fileinfo->dir #[(cl-x) "\302H	>\204 \303\304\"\210\305H\207" [cl-x cl-struct-cvs-fileinfo-tags 0 error "cvs-fileinfo->dir accessing a non-cvs-fileinfo" 4] 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-fileinfo->dir setf-method #[(cl-x) "\301\302\303\304\305%\207" [cl-x cl-struct-setf-expander cvs-fileinfo cvs-fileinfo->dir (and (memq (aref cl-x 0) cl-struct-cvs-fileinfo-tags)) 4] 6] cvs-fileinfo->file cl-compiler-macro #[(cl-whole cl-x) "\301\302\303\304\211\211&\207" [cl-x cl-defsubst-expand (cl-x) (block cvs-fileinfo->file (or (and (memq (aref cl-x 0) cl-struct-cvs-fileinfo-tags)) (error "cvs-fileinfo->file accessing a non-cvs-fileinfo" cl-x)) (aref cl-x 5)) nil] 7] byte-compile cl-byte-compile-compiler-macro] 4)
(defalias 'cvs-fileinfo->file #[(cl-x) "\302H	>\204 \303\304\"\210\305H\207" [cl-x cl-struct-cvs-fileinfo-tags 0 error "cvs-fileinfo->file accessing a non-cvs-fileinfo" 5] 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-fileinfo->file setf-method #[(cl-x) "\301\302\303\304\305%\207" [cl-x cl-struct-setf-expander cvs-fileinfo cvs-fileinfo->file (and (memq (aref cl-x 0) cl-struct-cvs-fileinfo-tags)) 5] 6] cvs-fileinfo->base-rev cl-compiler-macro #[(cl-whole cl-x) "\301\302\303\304\211\211&\207" [cl-x cl-defsubst-expand (cl-x) (block cvs-fileinfo->base-rev (or (and (memq (aref cl-x 0) cl-struct-cvs-fileinfo-tags)) (error "cvs-fileinfo->base-rev accessing a non-cvs-fileinfo" cl-x)) (aref cl-x 6)) nil] 7] byte-compile cl-byte-compile-compiler-macro] 4)
(defalias 'cvs-fileinfo->base-rev #[(cl-x) "\302H	>\204 \303\304\"\210\305H\207" [cl-x cl-struct-cvs-fileinfo-tags 0 error "cvs-fileinfo->base-rev accessing a non-cvs-fileinfo" 6] 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-fileinfo->base-rev setf-method #[(cl-x) "\301\302\303\304\305%\207" [cl-x cl-struct-setf-expander cvs-fileinfo cvs-fileinfo->base-rev (and (memq (aref cl-x 0) cl-struct-cvs-fileinfo-tags)) 6] 6] cvs-fileinfo->head-rev cl-compiler-macro #[(cl-whole cl-x) "\301\302\303\304\211\211&\207" [cl-x cl-defsubst-expand (cl-x) (block cvs-fileinfo->head-rev (or (and (memq (aref cl-x 0) cl-struct-cvs-fileinfo-tags)) (error "cvs-fileinfo->head-rev accessing a non-cvs-fileinfo" cl-x)) (aref cl-x 7)) nil] 7] byte-compile cl-byte-compile-compiler-macro] 4)
(defalias 'cvs-fileinfo->head-rev #[(cl-x) "\302H	>\204 \303\304\"\210\305H\207" [cl-x cl-struct-cvs-fileinfo-tags 0 error "cvs-fileinfo->head-rev accessing a non-cvs-fileinfo" 7] 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-fileinfo->head-rev setf-method #[(cl-x) "\301\302\303\304\305%\207" [cl-x cl-struct-setf-expander cvs-fileinfo cvs-fileinfo->head-rev (and (memq (aref cl-x 0) cl-struct-cvs-fileinfo-tags)) 7] 6] cvs-fileinfo->merge cl-compiler-macro #[(cl-whole cl-x) "\301\302\303\304\211\211&\207" [cl-x cl-defsubst-expand (cl-x) (block cvs-fileinfo->merge (or (and (memq (aref cl-x 0) cl-struct-cvs-fileinfo-tags)) (error "cvs-fileinfo->merge accessing a non-cvs-fileinfo" cl-x)) (aref cl-x 8)) nil] 7] byte-compile cl-byte-compile-compiler-macro] 4)
(defalias 'cvs-fileinfo->merge #[(cl-x) "\302H	>\204 \303\304\"\210\305H\207" [cl-x cl-struct-cvs-fileinfo-tags 0 error "cvs-fileinfo->merge accessing a non-cvs-fileinfo" 8] 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-fileinfo->merge setf-method #[(cl-x) "\301\302\303\304\305%\207" [cl-x cl-struct-setf-expander cvs-fileinfo cvs-fileinfo->merge (and (memq (aref cl-x 0) cl-struct-cvs-fileinfo-tags)) 8] 6] cvs-fileinfo->full-log cl-compiler-macro #[(cl-whole cl-x) "\301\302\303\304\211\211&\207" [cl-x cl-defsubst-expand (cl-x) (block cvs-fileinfo->full-log (or (and (memq (aref cl-x 0) cl-struct-cvs-fileinfo-tags)) (error "cvs-fileinfo->full-log accessing a non-cvs-fileinfo" cl-x)) (aref cl-x 9)) nil] 7] byte-compile cl-byte-compile-compiler-macro] 4)
(defalias 'cvs-fileinfo->full-log #[(cl-x) "\302H	>\204 \303\304\"\210\305H\207" [cl-x cl-struct-cvs-fileinfo-tags 0 error "cvs-fileinfo->full-log accessing a non-cvs-fileinfo" 9] 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-fileinfo->full-log setf-method #[(cl-x) "\301\302\303\304\305%\207" [cl-x cl-struct-setf-expander cvs-fileinfo cvs-fileinfo->full-log (and (memq (aref cl-x 0) cl-struct-cvs-fileinfo-tags)) 9] 6] cvs-fileinfo-p cl-compiler-macro #[(cl-whole cl-x) "\301\302\303\304\211\211&\207" [cl-x cl-defsubst-expand (cl-x) (block cvs-fileinfo-p (and (vectorp cl-x) (>= (length cl-x) 10) (memq (aref cl-x 0) cl-struct-cvs-fileinfo-tags) t)) nil] 7] byte-compile cl-byte-compile-compiler-macro] 4)
(defalias 'cvs-fileinfo-p #[(cl-x) "\302!\205 G\303Y\205 \304H	>\205 \305\207" [cl-x cl-struct-cvs-fileinfo-tags vectorp 10 0 t] 2])
(byte-code "\300\301\302\303#\210\301\304N\204 \300\301\304\305#\210\300\207" [put -cvs-create-fileinfo cl-compiler-macro #[(cl-whole type dir file full-log &rest #1=#:--rest--97273) "\306>A@\307>A@\310>A@\311>A@\312>A@\203Q @\313>\2038 AA\211\202# \314>A@\203G \315\211\202# \316\317@\"\210\202! )\320\321\322\315\315	\n\f&-\207" [#1# marked subtype merge base-rev head-rev :marked :subtype :merge :base-rev :head-rev (:marked :subtype :merge :base-rev :head-rev :allow-other-keys) :allow-other-keys nil error "Keyword argument %s not one of (:marked :subtype :merge :base-rev :head-rev)" cl-defsubst-expand (type dir file full-log marked subtype merge base-rev head-rev) (block -cvs-create-fileinfo (vector 'cl-struct-cvs-fileinfo marked type subtype dir file base-rev head-rev merge full-log)) #:--keys--97274 cl-whole type dir file full-log] 16] byte-compile cl-byte-compile-compiler-macro] 4)
(defalias '-cvs-create-fileinfo #[(type dir file full-log &rest #1=#:--rest--97275) "\306>A@\307>A@\310>A@\311>A@\312>A@\203Q @\313>\2038 AA\211\202# \314>A@\203G \315\211\202# \316\317@\"\210\202! )\320\321	\n\f&\n-\207" [#1# marked subtype merge base-rev head-rev :marked :subtype :merge :base-rev :head-rev (:marked :subtype :merge :base-rev :head-rev :allow-other-keys) :allow-other-keys nil error "Keyword argument %s not one of (:marked :subtype :merge :base-rev :head-rev)" vector cl-struct-cvs-fileinfo #2=#:--keys--97276 type dir file full-log] 12])
(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\321#\210\304\322\317\315#\210\304\323\317\315#\210\304\324\317\315#\210\304\325\317\315#\210\304\326\317\315#\210\304\327\317\315#\210\304\330\317\315#\210\304\331\317\315#\210\304\332\317\315#\207" [custom-print-functions cl-struct-cvs-fileinfo-tags #[(cl-x cl-s cl-n) "\303!\205G\304Y\205\305H	>\205\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\311\305H	>\204x \312\324\"\210\325H\n\"\210\306\326\n\"\210\311\305H	>\204\221 \312\327\"\210\330H\n\"\210\306\331\n\"\210\311\305H	>\204\252 \312\332\"\210\333H\n\"\210\306\334\n\"\210\311\305H	>\204\303 \312\335\"\210\336H\n\"\210\306\337\n\"\210\311\305H	>\204\334 \312\340\"\210\341H\n\"\210\306\342\n\"\210\311\305H	>\204\365 \312\343\"\210\344H\n\"\210\306\345\n\"\210\346\207" [cl-x cl-struct-cvs-fileinfo-tags cl-s vectorp 10 0 princ "#S(cvs-fileinfo" " marked" prin1 error "cvs-fileinfo->marked accessing a non-cvs-fileinfo" 1 " type" "cvs-fileinfo->type accessing a non-cvs-fileinfo" 2 " subtype" "cvs-fileinfo->subtype accessing a non-cvs-fileinfo" 3 " dir" "cvs-fileinfo->dir accessing a non-cvs-fileinfo" 4 " file" "cvs-fileinfo->file accessing a non-cvs-fileinfo" 5 " base-rev" "cvs-fileinfo->base-rev accessing a non-cvs-fileinfo" 6 " head-rev" "cvs-fileinfo->head-rev accessing a non-cvs-fileinfo" 7 " merge" "cvs-fileinfo->merge accessing a non-cvs-fileinfo" 8 " full-log" "cvs-fileinfo->full-log accessing a non-cvs-fileinfo" 9 ")" t] 4] cl-struct-cvs-fileinfo put cvs-fileinfo cl-struct-slots ((cl-tag-slot) (marked) (type) (subtype) (dir) (file) (base-rev) (head-rev) (merge) (full-log)) cl-struct-type (vector nil) cl-struct-include nil cl-struct-print t -cvs-create-fileinfo side-effect-free cvs-fileinfo-p error-free cvs-fileinfo->full-log cvs-fileinfo->merge cvs-fileinfo->head-rev cvs-fileinfo->base-rev cvs-fileinfo->file cvs-fileinfo->dir cvs-fileinfo->subtype cvs-fileinfo->type cvs-fileinfo->marked] 4)
(defalias 'cvs-create-fileinfo #[(type dir file msg &rest keys) "\305\306\307	\n\f&!\207" [type dir file msg keys cvs-check-fileinfo apply -cvs-create-fileinfo] 8])
#@66 Return the full path for the file that is described in FILEINFO.
(defalias 'cvs-fileinfo->full-path #[(fileinfo) "\303H	>\204 \304\305\"\210\306H\303H	>\204 \304\307\"\210\310H\311=\2036 \n\312\230\2030 \313\202H \314\n!\202H \n\303H	>\204D \304\315\"\210\316HP)\207" [fileinfo cl-struct-cvs-fileinfo-tags dir 0 error "cvs-fileinfo->dir accessing a non-cvs-fileinfo" 4 "cvs-fileinfo->type accessing a non-cvs-fileinfo" 2 DIRCHANGE "" "." directory-file-name "cvs-fileinfo->file accessing a non-cvs-fileinfo" 5] 4 (#$ . 15693)])
#@54 Return the filename of FI as it should be displayed.
(defalias 'cvs-fileinfo->pp-name #[(fi) "\203 \303	!\207	\304H\n>\204 \305\306	\"\210	\307H\207" [cvs-display-full-path fi cl-struct-cvs-fileinfo-tags cvs-fileinfo->full-path 0 error "cvs-fileinfo->file accessing a non-cvs-fileinfo" 5] 3 (#$ . 16239)])
#@58 Construct the file name of the backup file for FILEINFO.
(defalias 'cvs-fileinfo->backup-file #[(fileinfo) "\306H	>\204 \307\310\"\210\311H\306H	>\204 \307\312\"\210\313H\314\315\n!!\316\317\320\321\322!\322!\323R#\320\320\211\203n @\324!\203e \203_ \325\"\203e \nPA\211\204E \320.\207" [fileinfo cl-struct-cvs-fileinfo-tags dir file default-directory cvs-bakprefix 0 error "cvs-fileinfo->dir accessing a non-cvs-fileinfo" 4 "cvs-fileinfo->file accessing a non-cvs-fileinfo" 5 file-name-as-directory expand-file-name directory-files "." nil "^" regexp-quote "\\." file-readable-p file-newer-than-file-p files bf f #1=#:--dolist-temp--97277] 7 (#$ . 16554)])
(defalias 'boolp #[(x) "\301=\206 ?\207" [x t] 2])
#@45 Check FI's conformance to some conventions.
(defalias 'cvs-check-fileinfo #[(fi) "\306\307H	>\204 \310\311\"\210\312H\307H	>\204 \310\313\"\210\314H\307H	>\204. \310\315\"\210\316H\307H	>\204> \310\317\"\210\320H\307H	>\204N \310\321\"\210\322H\307H	>\204^ \310\323\"\210\324H\307H	>\204n \310\325\"\210\326H\307H	>\204~ \310\327\"\210\330H' (\331\211(\2037\332!\2037\304\211(\2037\f\203\255 \f;\2037\303\211(\2037\203\275 ;\2037\302\211(\2037\n;\2037\333\211(\2037;\2037\334!\2047\335\230\204\356 \336!\230\2037\305\211(\2037;\2037\337!\230\2037\340\211(\2037 9\2037\341\211(\2037 \342=\203('\2047\343\230\2020 \344>\2037\345\2037\202=\310\346(#.	\207" [fi cl-struct-cvs-fileinfo-tags full-log head-rev base-rev file none 0 error "cvs-fileinfo->type accessing a non-cvs-fileinfo" 2 "cvs-fileinfo->subtype accessing a non-cvs-fileinfo" 3 "cvs-fileinfo->marked accessing a non-cvs-fileinfo" 1 "cvs-fileinfo->dir accessing a non-cvs-fileinfo" 4 "cvs-fileinfo->file accessing a non-cvs-fileinfo" 5 "cvs-fileinfo->base-rev accessing a non-cvs-fileinfo" 6 "cvs-fileinfo->head-rev accessing a non-cvs-fileinfo" 7 "cvs-fileinfo->full-log accessing a non-cvs-fileinfo" 9 marked boolp dir file-name-absolute-p "" file-name-as-directory file-name-nondirectory type consistency DIRCHANGE "." (NEED-UPDATE ADDED MISSING DEAD MODIFIED MESSAGE UP-TO-DATE REMOVED NEED-MERGE CONFLICT UNKNOWN MESSAGE) t "Invalid :%s in cvs-fileinfo %s" subtype check] 11 (#$ . 17320)])
#@393 Fileinfo state descriptions for pcl-cvs.
This is an assoc list.  Each element consists of (STATE . FUNS)
- STATE (described in `cvs-create-fileinfo') is the key
- FUNS is the list of applicable operations.
  The first one (if any) should be the "default" action.
Most of the actions have the obvious meaning.
`safe-rm' indicates that the file can be removed without losing
  any information.
(defconst cvs-states (byte-code "\301\302\303\304\305\306\307\310\311\312\313\314\205 \315\316BBBBB\317BBBBBBBBB\207" [cvs-allow-dir-commit (NEED-UPDATE update diff) (UP-TO-DATE update nil remove diff safe-rm revert) (MODIFIED update commit undo remove diff merge diff-base) (ADDED update commit remove) (MISSING remove undo update safe-rm revert) (REMOVED commit add undo safe-rm) (NEED-MERGE update undo diff diff-base) (CONFLICT merge remove undo commit diff diff-base) DIRCHANGE remove update diff commit (tag) ((UNKNOWN ignore add remove) (DEAD) (MESSAGE))] 14) (#$ . 18875))
#@144 Check if FUNC is applicable to FI-OR-TYPE.
If FUNC is nil, always return t.
FI-OR-TYPE can either be a symbol (a fileinfo-type) or a fileinfo.
(defalias 'cvs-applicable-p #[(fi-or-type func) "9\203	 \202 \305H	>\204 \306\307\"\210\310H\211\311=?\205* \n\f\236A>@=)\207" [fi-or-type cl-struct-cvs-fileinfo-tags type func cvs-states 0 error "cvs-fileinfo->type accessing a non-cvs-fileinfo" 2 MESSAGE] 4 (#$ . 19857)])
(defalias 'cvs-add-face #[(str face &optional keymap) "\203  \304\305	G\302\n\205 \306\307\310!\205 \303DBBBB	$\210	\207" [cvs-highlight str face keymap add-text-properties 0 mouse-face highlight keymapp] 9])
#@107 Pretty print FILEINFO.  Insert a printed representation in current buffer.
For use by the cookie package.
(defalias 'cvs-fileinfo-pp #[(fileinfo) "\306!\210\307H	>\204 \310\311\"\210\312H\307H	>\204! \310\313\"\210\314H\211\315=\2039 \316\317\320!\321\322#\323Q\202\324=\203X \317\325\326\307H	>\204O \310\327\"\210\330H\"\331\"\202\307H	>\204e \310\332\"\210\333H\203r \317\334\335\"\202s \336\317\337!\340\322#\307H	>\204\211 \310\341\"\210\342H\206\220 \343/\307H	>\204\237 \310\344\"\210\345H0\346=\203\256 \343\202\263 \347\350!!\351\352\350!\227\353Q!1\3541!\203\313 1J\206\314 \355)23\317324#*\n\203\346 \350\n!\227\206\371 0\203\370 0/\230\204\370 0\206\371 \3435\325\3565\f/&.c*\207" [fileinfo cl-struct-cvs-fileinfo-tags subtype type status file cvs-check-fileinfo 0 error "cvs-fileinfo->type accessing a non-cvs-fileinfo" 2 "cvs-fileinfo->subtype accessing a non-cvs-fileinfo" 3 DIRCHANGE "In directory " cvs-add-face cvs-fileinfo->full-path cvs-header-face t ":" MESSAGE format "Message: %s" "cvs-fileinfo->full-log accessing a non-cvs-fileinfo" 9 cvs-msg-face "cvs-fileinfo->marked accessing a non-cvs-fileinfo" 1 "*" cvs-marked-face " " cvs-fileinfo->pp-name cvs-filename-face "cvs-fileinfo->base-rev accessing a non-cvs-fileinfo" 6 "" "cvs-fileinfo->head-rev accessing a non-cvs-fileinfo" 7 DEAD capitalize symbol-name intern "cvs-fi-" "-face" boundp cvs-need-action-face "%-11s %s %-11s %-11s %s" base head sym face str cvs-status-map side] 8 (#$ . 20506)])
#@52 Update FI with the information provided in FI-NEW.
(defalias 'cvs-fileinfo-update #[(fi fi-new) "\305H	>\204 \306\307\"\210\310H\305H	>\204 \306\311\"\210\312H\f\305H	>\204/ \306\313\f\"\210\f\310I\210\f\305H	>\204A \306\314\f\"\210\f\315\305H	>\204P \306\316\"\210\315HI\210\f\305H	>\204b \306\317\f\"\210\f\320\305H	>\204q \306\321\"\210\320HI\210\f\305H	>\204\203 \306\322\f\"\210\f\323\305H	>\204\222 \306\324\"\210\323HI\210\f\305H	>\204\244 \306\325\f\"\210\f\326\305H	>\204\263 \306\327\"\210\326HI\210\n\203\320 \f\305H	>\204\311 \306\330\f\"\210\f\312\nI\202\347 \331>\205\347 \f\305H	>\204\343 \306\330\f\"\210\f\312\332I*\207" [fi-new cl-struct-cvs-fileinfo-tags merge type fi 0 error "cvs-fileinfo->type accessing a non-cvs-fileinfo" 2 "cvs-fileinfo->merge accessing a non-cvs-fileinfo" 8 "cvs-fileinfo->type storing a non-cvs-fileinfo" "cvs-fileinfo->subtype storing a non-cvs-fileinfo" 3 "cvs-fileinfo->subtype accessing a non-cvs-fileinfo" "cvs-fileinfo->full-log storing a non-cvs-fileinfo" 9 "cvs-fileinfo->full-log accessing a non-cvs-fileinfo" "cvs-fileinfo->base-rev storing a non-cvs-fileinfo" 6 "cvs-fileinfo->base-rev accessing a non-cvs-fileinfo" "cvs-fileinfo->head-rev storing a non-cvs-fileinfo" 7 "cvs-fileinfo->head-rev accessing a non-cvs-fileinfo" "cvs-fileinfo->merge storing a non-cvs-fileinfo" (UP-TO-DATE NEED-UPDATE) nil] 5 (#$ . 22042)])
#@264 Compare fileinfo A with fileinfo B and return t if A is `less'.
The ordering defined by this function is such that directories are
sorted alphabetically, and inside every directory the DIRCHANGE
fileinfo will appear first, followed by all files (alphabetically).
(defalias 'cvs-fileinfo< #[(a b) "\305H	>\204 \306\307\"\210\310H\n\305H	>\204 \306\307\n\"\210\n\310H\305H	>\204/ \306\311\"\210\312H\n\305H	>\204? \306\311\n\"\210\n\312H\231\203J \313\202\305 \305H	>\204W \306\311\"\210\312H\n\305H	>\204g \306\311\n\"\210\n\312H\230\204r \314\202\305 \n\305H	>\204 \306\315\n\"\210\n\316H\317=\203\213 \314\202\305 \305H	>\204\230 \306\315\"\210\316H\317=\203\244 \313\202\305 \305H	>\204\261 \306\320\"\210\321H\n\305H	>\204\301 \306\320\n\"\210\n\321H\231*\207" [a cl-struct-cvs-fileinfo-tags b subtypeb subtypea 0 error "cvs-fileinfo->subtype accessing a non-cvs-fileinfo" 3 "cvs-fileinfo->dir accessing a non-cvs-fileinfo" 4 t nil "cvs-fileinfo->type accessing a non-cvs-fileinfo" 2 DIRCHANGE "cvs-fileinfo->file accessing a non-cvs-fileinfo" 5] 4 (#$ . 23448)])
#@152 List of fileinfos for DIR, extracted from CVS/Entries.
Unless ALL is optional, returns only the files that are not up-to-date.
DIR can also be a file.
(defalias 'cvs-fileinfo-from-entries #[(dir &optional all) "\306\232\203\n \307\202# \310!\203 \311!\307\202# \312!\313!\206\" \306\314\315\"\307\316\n!\204I \317	\203: \320\202; \321	\206A \322\306$B\202b\323\324\325!!\326\216r\fq\210\327\n!\210eb\210	\204l \317\321\322\306$B\202\224 \330\331\332	!\333Q\307\334#\203\207 \334\335\224b\210`\335\225}\210\202\224 \317\320	\306$Bee}\210\336\337!\203a\340\224\340\225U\204\263 \341\342\311\343\344!!P\"\"\202[\343\344!\343\345!\343\346!\307\347\307;<=>?@?\335\340O\350\232\203\342 \351<?\340\307O?\202B\352@P!\204\361 \353<\202B?\354\232\203\355<\307?\202B>\356\232\203\357;\202B\360\361@P!8\362AB\363\364B\365#\211=>\232*\2035\2050\366<\202B>\367=P\232\203B\370<<\203Y\317<@\306\371?\372;&B.\340y\210\202\224 ++\207" [dir singlefile file fis #1=#:temp-buffer all "" nil file-directory-p file-name-as-directory file-name-nondirectory file-name-directory expand-file-name "CVS/Entries" file-readable-p cvs-create-fileinfo UNKNOWN DIRCHANGE "." get-buffer-create generate-new-buffer-name " *temp*" ((byte-code "\301!\203\n \302!\210\301\207" [#1# buffer-name kill-buffer] 2)) insert-file-contents re-search-forward "^[^/]*/" regexp-quote "/.*" t 0 looking-at "\\([^/]*\\)/\\([^/]*\\)/\\([^/]*\\)/\\([^/]*\\)/" 1 append cvs-fileinfo-from-entries match-string 2 3 4 MODIFIED "-" REMOVED file-exists-p MISSING "0" ADDED "Result of merge" MERGED 5 file-attributes "C" format-time-string "%c" utc UP-TO-DATE "Result of merge+" CONFLICT :base-rev :subtype subtype type timestamp date rev f system-time-locale mtime] 9 (#$ . 24542)])
(provide 'pcvs-info)
