;ELC ;;; Compiled by cyd@localhost on Mon Apr 23 22:21:02 2007 ;;; from file /home/cyd/emacs/lisp/pcvs-info.el ;;; in Emacs version 22.0.99 ;;; 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 "`pcvs-info.el' was compiled for Emacs 19.29 or later")) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (require 'pcvs-util) #@156 *Specifies how the filenames should be displayed in the listing. If non-nil, their full filename name will be displayed, else only the non-directory part. (custom-declare-variable 'cvs-display-full-name 't '(#$ . -587) :group 'pcl-cvs :type '(boolean)) (byte-code "\300\301\302\303#\210\304\301\302\303#\207" [defvaralias cvs-display-full-path cvs-display-full-name nil make-obsolete-variable] 4) #@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 '(#$ . -991) :group 'pcl-cvs :type '(boolean)) (byte-code "\301\302\303\304\305\306%\210\307\310\311\302#\210\301\312\313\314\305\306%\210\307\315\311\312#\210\301\316\317\320\305\306%\210\307\321\311\316#\210\301\322\323\324\305\306%\210\307\325\311\322#\210\301\326\327\330\305\306%\210\307\331\311\326#\210\301\332\333\334\305\306%\210\307\335\311\332#\210\301\336\337\340\305\306%\210\307\341\311\336#\210\342B\343\342!\204q\344\342\322\"\210\345B\343\345!\204\200\344\345\316\"\210\346B\343\346!\204\217\344\346\347\"\210\301\207" [current-load-list custom-declare-face cvs-header ((((class color) (background dark)) (:foreground "lightyellow" :weight bold)) (((class color) (background light)) (:foreground "blue4" :weight bold)) (t (:weight bold))) "PCL-CVS face used to highlight directory changes." :group pcl-cvs put cvs-header-face face-alias cvs-filename ((((class color) (background dark)) (:foreground "lightblue")) (((class color) (background light)) (:foreground "blue4")) (t nil)) "PCL-CVS face used to highlight file names." cvs-filename-face cvs-unknown ((((class color) (background dark)) (:foreground "red")) (((class color) (background light)) (:foreground "red")) (t (:slant italic))) "PCL-CVS face used to highlight unknown file status." cvs-unknown-face cvs-handled ((((class color) (background dark)) (:foreground "pink")) (((class color) (background light)) (:foreground "pink")) (t nil)) "PCL-CVS face used to highlight handled file status." cvs-handled-face cvs-need-action ((((class color) (background dark)) (:foreground "orange")) (((class color) (background light)) (:foreground "orange")) (t (:slant italic))) "PCL-CVS face used to highlight status of files needing action." cvs-need-action-face cvs-marked ((((min-colors 88) (class color) (background dark)) (:foreground "green1" :weight bold)) (((class color) (background dark)) (:foreground "green" :weight bold)) (((class color) (background light)) (:foreground "green3" :weight bold)) (t (:weight bold))) "PCL-CVS face used to highlight marked file indicator." cvs-marked-face cvs-msg ((t (:slant italic))) "PCL-CVS face used to highlight CVS messages." cvs-msg-face cvs-fi-up-to-date-face default-boundp set-default cvs-fi-unknown-face cvs-fi-conflict-face font-lock-warning-face] 6) #@58 The prefix that CVS prepends to files when rcsmerge'ing. (defvar cvs-bakprefix ".#" (#$ . 3547)) #@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-mode-toggle-mark)) nil boundp] 5) (#$ . 3650)) (byte-code "\300\301\302\303#\210\301\304N\204\300\301\304\305#\210\300\207" [put cvs-fileinfo->marked cl-compiler-macro #[(--cl-whole-arg-- 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")) (aref cl-x 1)) nil] 7] byte-compile cl-byte-compile-compiler-macro] 4) (defalias 'cvs-fileinfo->marked #[(cl-x) "\302H >\204\f\303\304!\210\305H\207" [cl-x cl-struct-cvs-fileinfo-tags 0 error "cvs-fileinfo->marked accessing a non-cvs-fileinfo" 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-fileinfo->marked setf-method #[(cl-x) "\301\302\303\304\305%\207" [cl-x cl-struct-setf-expander cvs-fileinfo cvs-fileinfo->marked #1=(and (memq (aref cl-x 0) cl-struct-cvs-fileinfo-tags)) 1] 6] cvs-fileinfo->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-fileinfo->type (or #1# (error "cvs-fileinfo->type accessing a non-cvs-fileinfo")) (aref cl-x 2)) nil] 7] byte-compile cl-byte-compile-compiler-macro] 4) (defalias 'cvs-fileinfo->type #[(cl-x) "\302H >\204\f\303\304!\210\305H\207" [cl-x cl-struct-cvs-fileinfo-tags 0 error "cvs-fileinfo->type accessing a non-cvs-fileinfo" 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-fileinfo->type setf-method #[(cl-x) "\301\302\303\304\305%\207" [cl-x cl-struct-setf-expander cvs-fileinfo cvs-fileinfo->type #1=(and (memq (aref cl-x 0) cl-struct-cvs-fileinfo-tags)) 2] 6] cvs-fileinfo->subtype cl-compiler-macro #[(--cl-whole-arg-- cl-x) "\301\302\303\304\211\211&\207" [cl-x cl-defsubst-expand (cl-x) (block cvs-fileinfo->subtype (or #1# (error "cvs-fileinfo->subtype accessing a non-cvs-fileinfo")) (aref cl-x 3)) nil] 7] byte-compile cl-byte-compile-compiler-macro] 4) (defalias 'cvs-fileinfo->subtype #[(cl-x) "\302H >\204\f\303\304!\210\305H\207" [cl-x cl-struct-cvs-fileinfo-tags 0 error "cvs-fileinfo->subtype accessing a non-cvs-fileinfo" 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-fileinfo->subtype setf-method #[(cl-x) "\301\302\303\304\305%\207" [cl-x cl-struct-setf-expander cvs-fileinfo cvs-fileinfo->subtype #1=(and (memq (aref cl-x 0) cl-struct-cvs-fileinfo-tags)) 3] 6] cvs-fileinfo->dir cl-compiler-macro #[(--cl-whole-arg-- cl-x) "\301\302\303\304\211\211&\207" [cl-x cl-defsubst-expand (cl-x) (block cvs-fileinfo->dir (or #1# (error "cvs-fileinfo->dir accessing a non-cvs-fileinfo")) (aref cl-x 4)) nil] 7] byte-compile cl-byte-compile-compiler-macro] 4) (defalias 'cvs-fileinfo->dir #[(cl-x) "\302H >\204\f\303\304!\210\305H\207" [cl-x cl-struct-cvs-fileinfo-tags 0 error "cvs-fileinfo->dir accessing a non-cvs-fileinfo" 4] 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-fileinfo->dir setf-method #[(cl-x) "\301\302\303\304\305%\207" [cl-x cl-struct-setf-expander cvs-fileinfo cvs-fileinfo->dir #1=(and (memq (aref cl-x 0) cl-struct-cvs-fileinfo-tags)) 4] 6] cvs-fileinfo->file cl-compiler-macro #[(--cl-whole-arg-- cl-x) "\301\302\303\304\211\211&\207" [cl-x cl-defsubst-expand (cl-x) (block cvs-fileinfo->file (or #1# (error "cvs-fileinfo->file accessing a non-cvs-fileinfo")) (aref cl-x 5)) nil] 7] byte-compile cl-byte-compile-compiler-macro] 4) (defalias 'cvs-fileinfo->file #[(cl-x) "\302H >\204\f\303\304!\210\305H\207" [cl-x cl-struct-cvs-fileinfo-tags 0 error "cvs-fileinfo->file accessing a non-cvs-fileinfo" 5] 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-fileinfo->file setf-method #[(cl-x) "\301\302\303\304\305%\207" [cl-x cl-struct-setf-expander cvs-fileinfo cvs-fileinfo->file #1=(and (memq (aref cl-x 0) cl-struct-cvs-fileinfo-tags)) 5] 6] cvs-fileinfo->base-rev cl-compiler-macro #[(--cl-whole-arg-- cl-x) "\301\302\303\304\211\211&\207" [cl-x cl-defsubst-expand (cl-x) (block cvs-fileinfo->base-rev (or #1# (error "cvs-fileinfo->base-rev accessing a non-cvs-fileinfo")) (aref cl-x 6)) nil] 7] byte-compile cl-byte-compile-compiler-macro] 4) (defalias 'cvs-fileinfo->base-rev #[(cl-x) "\302H >\204\f\303\304!\210\305H\207" [cl-x cl-struct-cvs-fileinfo-tags 0 error "cvs-fileinfo->base-rev accessing a non-cvs-fileinfo" 6] 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-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 #1=(and (memq (aref cl-x 0) cl-struct-cvs-fileinfo-tags)) 6] 6] cvs-fileinfo->head-rev cl-compiler-macro #[(--cl-whole-arg-- cl-x) "\301\302\303\304\211\211&\207" [cl-x cl-defsubst-expand (cl-x) (block cvs-fileinfo->head-rev (or #1# (error "cvs-fileinfo->head-rev accessing a non-cvs-fileinfo")) (aref cl-x 7)) nil] 7] byte-compile cl-byte-compile-compiler-macro] 4) (defalias 'cvs-fileinfo->head-rev #[(cl-x) "\302H >\204\f\303\304!\210\305H\207" [cl-x cl-struct-cvs-fileinfo-tags 0 error "cvs-fileinfo->head-rev accessing a non-cvs-fileinfo" 7] 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-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 #1=(and (memq (aref cl-x 0) cl-struct-cvs-fileinfo-tags)) 7] 6] cvs-fileinfo->merge cl-compiler-macro #[(--cl-whole-arg-- cl-x) "\301\302\303\304\211\211&\207" [cl-x cl-defsubst-expand (cl-x) (block cvs-fileinfo->merge (or #1# (error "cvs-fileinfo->merge accessing a non-cvs-fileinfo")) (aref cl-x 8)) nil] 7] byte-compile cl-byte-compile-compiler-macro] 4) (defalias 'cvs-fileinfo->merge #[(cl-x) "\302H >\204\f\303\304!\210\305H\207" [cl-x cl-struct-cvs-fileinfo-tags 0 error "cvs-fileinfo->merge accessing a non-cvs-fileinfo" 8] 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-fileinfo->merge setf-method #[(cl-x) "\301\302\303\304\305%\207" [cl-x cl-struct-setf-expander cvs-fileinfo cvs-fileinfo->merge #1=(and (memq (aref cl-x 0) cl-struct-cvs-fileinfo-tags)) 8] 6] cvs-fileinfo->full-log cl-compiler-macro #[(--cl-whole-arg-- cl-x) "\301\302\303\304\211\211&\207" [cl-x cl-defsubst-expand (cl-x) (block cvs-fileinfo->full-log (or #1# (error "cvs-fileinfo->full-log accessing a non-cvs-fileinfo")) (aref cl-x 9)) nil] 7] byte-compile cl-byte-compile-compiler-macro] 4) (defalias 'cvs-fileinfo->full-log #[(cl-x) "\302H >\204\f\303\304!\210\305H\207" [cl-x cl-struct-cvs-fileinfo-tags 0 error "cvs-fileinfo->full-log accessing a non-cvs-fileinfo" 9] 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-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 #1=(memq (aref cl-x 0) cl-struct-cvs-fileinfo-tags)) 9] 6] cvs-fileinfo-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-fileinfo-p (and (vectorp cl-x) (>= (length cl-x) 10) #1# t)) nil] 7] byte-compile cl-byte-compile-compiler-macro] 4) (defalias 'cvs-fileinfo-p #[(cl-x) "\302!\205G\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=#:--cl-rest--) "\306>A@\307>A@\310>A@\311>A@\312>A@\203Q@\313>\2038AA\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)) #:--cl-keys-- cl-whole type dir file full-log] 16 "Not documented\n\n(fn CL-WHOLE &cl-quote TYPE DIR FILE FULL-LOG &key MARKED SUBTYPE MERGE BASE-REV HEAD-REV)"] byte-compile cl-byte-compile-compiler-macro] 4) #@89 Not documented (fn TYPE DIR FILE FULL-LOG &key MARKED SUBTYPE MERGE BASE-REV HEAD-REV) (defalias '-cvs-create-fileinfo #[(type dir file full-log &rest #1=#:--cl-rest--) "\306>A@\307>A@\310>A@\311>A@\312>A@\203Q@\313>\2038AA\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=#:--cl-keys-- type dir file full-log] 12 (#$ . 12523)]) (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\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\370G\304Y\205\370\305H >\205\370\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\311\305H >\204t\312\324!\210\325H\n\"\210\306\326\n\"\210\311\305H >\204\214\312\327!\210\330H\n\"\210\306\331\n\"\210\311\305H >\204\244\312\332!\210\333H\n\"\210\306\334\n\"\210\311\305H >\204\274\312\335!\210\336H\n\"\210\306\337\n\"\210\311\305H >\204\324\312\340!\210\341H\n\"\210\306\342\n\"\210\311\305H >\204\354\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] 3] 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-name #[(fileinfo) "\303H >\204\f\304\305!\210\306H\303H >\204\304\307!\210\310H\311=\2034\n\312\230\203.\313\202E\314\n!\202E\n\303H >\204A\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] 3 (#$ . 15606)]) (byte-code "\300\301\302\303#\210\304\301\302\303#\207" [defalias cvs-fileinfo->full-path cvs-fileinfo->full-name nil make-obsolete] 4) #@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-name fi cl-struct-cvs-fileinfo-tags cvs-fileinfo->full-name 0 error "cvs-fileinfo->file accessing a non-cvs-fileinfo" 5] 2 (#$ . 16283)]) #@58 Construct the file name of the backup file for FILEINFO. (defalias 'cvs-fileinfo->backup-file #[(fileinfo) "\306H >\204\f\307\310!\210\311H\306H >\204\307\312!\210\313H\314\315\n!!\316\317\320\321\322 !\322 !\323R#\320\320\211\203j@\324!\203a\203]\325\"\203aA\211\204C*\nP-\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 "\\(\\.[0-9]+\\.[0-9]+\\)+\\'" file-readable-p file-newer-than-file-p files bf f #1=#:--cl-dolist-temp--] 7 (#$ . 16596)]) #@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 >\204I\310\321!\210\322H\307H >\204X\310\323!\210\324H\307H >\204g\310\325!\210\326H\307H >\204v\310\327!\210\330H( )\331\211)\2030\332>\2030\304\211)\2030\f\203\245\f;\2030\303\211)\2030 \203\265 ;\2030\302\211)\2030\n;\2030\333\211)\2030;\2030\334!\2040\335\230\204\346\336!\230\2030\305\211)\2030 ;\2030 \337 !\230\2030\340\211)\2030 9\2030\341\211)\2030 \342=\203 (\2040 \343\230\202)\344 \345\"\2030\346\2030\2026\310\347)#. \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 (t nil) dir file-name-absolute-p "" file-name-as-directory file-name-nondirectory type consistency DIRCHANGE "." memql (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] 10 (#$ . 17324)]) #@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 ignore) (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) (#$ . 18876)) #@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 (#$ . 19865)]) (defalias 'cvs-add-face #[(str face &optional keymap &rest props) "\203\304!\203\300 BB\305\306 BB\307\310\nG\311 BB\n$\210\n\207" [keymap props str face keymapp mouse-face highlight add-text-properties 0 font-lock-face] 6]) #@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\323\322%\324Q\202 \325=\203W\317\326\327\307H >\204N\310\330!\210\331H\"\332\"\202\307H >\204c\310\333!\210\334H\203p\317\335\336\"\202q\337\317\340!\341\322\323\322%\307H >\204\210\310\342!\210\343H\206\217\3441\307H >\204\235\310\345!\210\346H2 \347=\203\254\344\202\261\350\351 !!\352\353\351 !\227\354Q!3\3553!\203\3113J\206\312\356)45\317546#*\n\203\344\351\n!\227\206\3672\203\36621\230\204\3662\206\367\3447\326\3577\f 1 &.\360\261*\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-name cvs-header t cvs-goal-column ":" MESSAGE format "Message: %s" "cvs-fileinfo->full-log accessing a non-cvs-fileinfo" 9 cvs-msg "cvs-fileinfo->marked accessing a non-cvs-fileinfo" 1 "*" cvs-marked " " cvs-fileinfo->pp-name cvs-filename "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 "%-11s %s %-11s %-11s %s" "\n" base head sym face str cvs-status-map side] 8 (#$ . 20532)]) #@52 Update FI with the information provided in FI-NEW. (defalias 'cvs-fileinfo-update #[(fi fi-new) "\305H >\204\f\306\307!\210\310H\305H >\204\306\311!\210\312H\f\305H >\204,\306\313!\210\f\310 I\210\f\305H >\204=\306\314!\210\f\315\305H >\204K\306\316!\210\315HI\210\f\305H >\204\\\306\317!\210\f\320\305H >\204j\306\321!\210\320HI\210\f\305H >\204{\306\322!\210\f\323\305H >\204\211\306\324!\210\323HI\210\f\305H >\204\232\306\325!\210\f\326\305H >\204\250\306\327!\210\326HI\210\n\203\304\f\305H >\204\275\306\330!\210\f\312\nI\202\332 \331>\205\332\f\305H >\204\326\306\330!\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] 4 (#$ . 22076)]) #@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\f\306\307!\210\310H\n\305H >\204\306\307!\210\n\310H\305H >\204,\306\311!\210\312H\n\305H >\204;\306\311!\210\n\312H\231\203F\313\202\273\305H >\204R\306\311!\210\312H\n\305H >\204a\306\311!\210\n\312H\230\204l\314\202\273\n\305H >\204x\306\315!\210\n\316H\317=\203\204\314\202\273\305H >\204\220\306\315!\210\316H\317=\203\234\313\202\273\305H >\204\250\306\320!\210\321H\n\305H >\204\267\306\320!\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] 3 (#$ . 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\202w\323\324!\325\216r\fq\210\326\n!\210eb\210 \204j\317\321\322\306$ B\202\222\327\330\331 !\332Q\307\333#\203\205\333\334\224b\210`\334\225}\210\202\222\317\320 \306$ Bee}\210\335\336!\203v\337\224\337\225U\204\261\340\341\311\342\343!!P \" \"\202p\342\343!\342\344!\342\345!\307\346\307>?@ABCB\334\337O\347\232\203\340\350?B\337\307OB\202W\351CP!\204\357\352?\202WB\353\232\203\377\354?\307B\202WA\355\232\203\f\356>\202W\357\360CP!8\361DE\362\363E\364#\211@\365H\366U\2037@\334\365O\367@\370\307OQ@@A\232*\203J \205E\371?\202WA\372@P\232\203W\373??\203n\317?C\306\374B\375>& B.\337y\210\202\222+ +\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 "." generate-new-buffer " *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 8 48 " " 9 UP-TO-DATE "Result of merge+" CONFLICT :base-rev :subtype subtype type timestamp date rev f system-time-locale mtime] 10 (#$ . 24518)]) (provide 'pcvs-info)