;ELC ;;; Compiled by pot@pot.cnuce.cnr.it on Tue Mar 18 15:49:25 2003 ;;; from file /home/pot/gnu/emacs-pretest.new/lisp/pcvs.el ;;; in Emacs version 21.3 ;;; with bytecomp version 2.85.4.1 ;;; with all optimizations. ;;; This file uses dynamic docstrings, first added in Emacs 19.29. (if (and (boundp 'emacs-version) (< (aref emacs-version (1- (length emacs-version))) ?A) (or (and (boundp 'epoch::version) epoch::version) (string-lessp emacs-version "19.29"))) (error "`pcvs.el' was compiled for Emacs 19.29 or later")) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (byte-code "\301\302!\210\301\303!\210\301\304!\210\301\305!\210\301\306!\210\307B\301\207" [current-load-list require ewoc pcvs-defs pcvs-util pcvs-parse pcvs-info cvs-cookies] 2) #@30 Bound to t inside VC advice. (defvar cvs-from-vc nil (#$ . 793)) (defalias 'cvs-defaults #[(&rest defs) "\303 \"\304\305 GZ@\"\n#)\207" [defs cvs-shared-start cvs-shared-flags cvs-first append make-list] 5]) (byte-code "\302B\306\302\307\310#\210\311\302!\211\203+\312\n!\203+\nG\313Y\203+\n\314H >\203+\n\202B\315\316\317 \203:\n\fAB\202;\f\310\211\211\211&))\305B\306\305\307\310#\210\311\305!\211\203o\312 !\203o G\313Y\203o \314H >\203o \202\210\320\321!\316\317 \203\200 \fAB\202\201\f\310\211\211\211&))\322B\306\322\307\310#\210\311\322!\211\203\271\312!\203\271G\313Y\203\271\314H >\203\271\202\324\320\323\310\"\316\317 \203\314\fAB\202\315\f\310\211\211\211&))\324B\306\324\307\310#\210\311\324!\211\203\312!\203G\313Y\203\314H >\203\202 \320\310!\316\317 \203\fAB\202\f\310\211\211\211&))\325B\306\325\307\310#\210\311\325!\211\203R\312!\203RG\313Y\203R\314H >\203R\202n\320\326\327\330#\316\317 \203f\fAB\202g\f\310\211\211\211&))\331B\306\331\307\310#\210\311\331!\211\203\240\312!\203\240G\313Y\203\240\314H >\203\240\202\272\320\310!\316\317 \203\262\fAB\202\263\f\310\211\211\211&))\332B\306\332\307\310#\210\311\332!\211\203\354\312!\203\354G\313Y\203\354\314H >\203\354\202\320\310!\316\317 \203\376\fAB\202\377\f\310\211\211\211&))\333B\306\333\307\310#\210\311\333!\211\2038\312!\2038G\313Y\2038\314H >\2038\202R\320\310!\316\317 \203J\fAB\202K\f\310\211\211\211&))\334B\306\334\307\310#\210\311\334!\211\203\204\312!\203\204G\313Y\203\204\314H >\203\204\202\236\320\310!\316\317 \203\226\fAB\202\227\f\310\211\211\211&))\335B\306\335\307\310#\210\311\335!\211\203\320\312!\203\320G\313Y\203\320\314H >\203\320\202\352\320\336!\316\317 \203\342\fAB\202\343\f\310\211\211\211&))\310\207" [current-load-list bound cvs-cvs-flags cl-struct-cvs-flags-tags defaults cvs-checkout-flags put variable-documentation nil boundp vectorp 6 0 (("-f")) vector cl-struct-cvs-flags cvs-defaults ("-P") cvs-status-flags ("-v") cvs-log-flags cvs-diff-flags ("-u" "-N") ("-c" "-N") ("-u" "-b") cvs-tag-flags cvs-add-flags cvs-commit-flags cvs-remove-flags cvs-update-flags ("-d" "-P")] 8) #@63 Reset the default arguments to those in the `cvs-cvsrc-file'. (defalias 'cvs-reread-cvsrc #[nil "\306!\211;\205\205\307\310\211\203W @\311\312\n\313Q!\314\315\n\316Q \"\205+\317\320\321 \"!\f\322 \fJ\322H>\204F\323\324\fJ\"\210\fJ\321H\233\240\210- A\211\204*\325\322\326\327\330\331\325\310\332#\"AB\fJ\322H>\204|\323\324\fJ\"\210\fJ\321H\233\240+)\207" [cvs-cvsrc-file cvsrc cmd #1=#:--dolist-temp--97342 sym val cvs-file-to-string ("cvs" "checkout" "status" "log" "diff" "tag" "add" "commit" "remove" "update") nil intern "cvs-" "-flags" string-match "^" "\\s-\\(.*\\)$" cvs-string->strings match-string 1 0 error "cvs-flags-defaults accessing a non-cvs-flags" cvs-cvs-flags "-f" cvs-partition #[(x) "\301\235\207" [x ("-q" "-Q")] 2] cvs-flags-query noquery value index cl-struct-cvs-flags-tags] 10 (#$ . 3118) nil]) (cvs-reread-cvsrc) #@21 Popup the CVS menu. (defalias 'cvs-menu #[(e) "\306\307 \310\n8:\203\310\202\311\n8)\311 8:\203#\311 8@\202&\311 8)\"!C\312 \")\207" [cvs-cookies e event position cvs-minor-current-files cvs-menu ewoc-data ewoc-locate 2 1 popup-menu] 5 (#$ . 4001) "e"]) #@62 Mode-line control for displaying info on cvs process status. (defvar cvs-mode-line-process nil (#$ . 4272)) (autoload 'cvs-status-get-tags "cvs-status") #@58 Return a list of acceptable tags, ready for completions. (defalias 'cvs-tags-list #[nil "\304 \204 \305\306\307C\"\210\310 \311\312\205;\313\314\315!!\316\216r q\210\317\n\320\321\320\322\323\324@!&\210eb\210\325 \211<\205: ,)BB\207" [marked #1=#:temp-buffer cvs-program tags cvs-buffer-p signal cl-assertion-failed (cvs-buffer-p) cvs-get-marked ("BASE") ("HEAD") get-buffer-create generate-new-buffer-name " *temp*" ((byte-code "\301!\203\n\302!\210\301\207" [#1# buffer-name kill-buffer] 2)) call-process nil t "status" "-v" cvs-fileinfo->full-path cvs-status-get-tags] 12 (#$ . 4431)]) (byte-code "\301B\303\301!\204\f\304\302B\305\306\307\211\301\310\304&\304\207" [current-load-list cvs-tag-history cvs-qtypedesc-tag boundp nil vector cl-struct-cvs-qtypedesc identity cvs-tags-list] 7) #@402 Switch to the *cvs* buffer. If -CVS-MODE!-FUN is provided, it is executed *cvs* being the current buffer and with its window selected. Else, the *cvs* buffer is simply selected. If -CVS-MODE!-NOERROR is non-nil, then failure to find a *cvs* buffer does not generate an error and the current buffer is kept selected. -CVS-MODE!-FUN is called interactively if applicable and else with no argument. (defalias 'cvs-mode! #[(&optional -cvs-mode!-fun -cvs-mode!-noerror) "p\306 \203 p\202$ \203\306 !\203 \202$\n\203!p\202$\307\310!\f\311\2044 q\202`p\312 \313 \314\"\315\216 q\210\203P\316!\210 \203\\ \"\202_ ,,\207" [-cvs-mode!-buf cvs-buffer -cvs-mode!-noerror cvsbuf cvs-minor-wrap-function -cvs-mode!-wrapper cvs-buffer-p error "can't find the *cvs* buffer" #[nil "r\301!\203 \302!\202 )\207" [-cvs-mode!-fun commandp call-interactively] 2] selected-window get-buffer-window visible ((byte-code "q\210 \203 \303 =\203\304\n!\210\303\207" [cvs-mode!-buf cvs-mode!-nwin cvs-mode!-owin selected-window select-window] 2)) select-window -cvs-mode!-cont -cvs-mode!-fun cvs-mode!-nwin cvs-mode!-owin cvs-mode!-buf] 5 (#$ . 5249)]) (byte-code "\302B\303\302!\204 \304\211E\302\207" [current-load-list cvs-vendor-branch cvs-branches boundp "HEAD"] 3) #@88 Current selected branch. See `cvs-prefix-set' for further description of the behavior. (defvar cvs-branch-prefix nil (#$ . 6554)) (byte-code "\306B \nB\211G\fY\204\307 \310\fS @\"\"\311\312 \313\314 \313&)\313\207" [current-load-list cvs-vendor-branch cvs-branches defaults cvs-prefix-number cvs-qtypedesc-tag cvs-branch-prefix-cps append make-list vector cl-struct-cvs-flags nil "version"] 8) #@223 Set the branch prefix to take action at the next command. See `cvs-prefix-set' for a further the description of the behavior. \[universal-argument] 1 selects the vendor branch and \[universal-argument] 2 selects the HEAD. (defalias 'cvs-set-branch-prefix #[(arg) "\301 \210\302\303\"\207" [arg cvs-mode! cvs-prefix-set cvs-branch-prefix] 3 (#$ . 6964) "P"]) #@187 Add branch selection argument if the branch prefix was set. The argument is added (or not) to the list of FLAGS and is constructed by appending the branch to ARG which defaults to "-r". (defalias 'cvs-add-branch-prefix #[(flags &optional arg) "\303\304!\303\305!\210\203 \206\306P\nB\202\n)\207" [branch arg flags cvs-prefix-get cvs-branch-prefix cvs-secondary-branch-prefix "-r"] 2 (#$ . 7330)]) #@98 Current secondary selected branch. See `cvs-prefix-set' for further description of the behavior. (defvar cvs-secondary-branch-prefix nil (#$ . 7742)) (byte-code "\306B \nB\211G\fY\204\307 \310\fS @\"\"\311\312 \313\314 \313&)\313\207" [current-load-list cvs-vendor-branch cvs-branches defaults cvs-prefix-number cvs-qtypedesc-tag cvs-secondary-branch-prefix-cps append make-list vector cl-struct-cvs-flags nil "version"] 8) #@223 Set the branch prefix to take action at the next command. See `cvs-prefix-set' for a further the description of the behavior. \[universal-argument] 1 selects the vendor branch and \[universal-argument] 2 selects the HEAD. (defalias 'cvs-set-secondary-branch-prefix #[(arg) "\301 \210\302\303\"\207" [arg cvs-mode! cvs-prefix-set cvs-secondary-branch-prefix] 3 (#$ . 8182) "P"]) #@393 Add branch selection argument if the secondary branch prefix was set. The argument is added (or not) to the list of FLAGS and is constructed by appending the branch to ARG which defaults to "-r". Since the `cvs-secondary-branch-prefix' is only active if the primary prefix is active, it is important to read the secondary prefix before the primay since reading the primary can deactivate it. (defalias 'cvs-add-secondary-branch-prefix #[(flags &optional arg) "\303\304\305\"\205\n\303\306!\211\203 \206\307P\nB\202\n)\207" [branch arg flags cvs-prefix-get cvs-branch-prefix read-only cvs-secondary-branch-prefix "-r"] 4 (#$ . 8568)]) #@97 Non-nil if CVS minor mode is enabled. Use the command `cvs-minor-mode' to change this variable. (defvar cvs-minor-mode nil (#$ . 9217)) (make-variable-buffer-local 'cvs-minor-mode) #@153 This mode is used for buffers related to a main *cvs* buffer. All the `cvs-mode' buffer operations are simply rebound under the \[cvs-mode-map] prefix. (defalias 'cvs-minor-mode #[(&optional arg) "\203\f\302!\303V\202 ?\304\305 \203\306\202\307\"\210t\203-\310\311 \203*\312\202+\313\"\210\314 \210 \207" [arg cvs-minor-mode prefix-numeric-value 0 run-hooks cvs-minor-mode-hook cvs-minor-mode-on-hook cvs-minor-mode-off-hook message "CVS minor mode %sabled" "en" "dis" force-mode-line-update] 3 (#$ . 9405) nil]) #@51 Hook run at the end of function `cvs-minor-mode'. (custom-declare-variable 'cvs-minor-mode-hook 'nil '(#$ . 9937) :group 'cvs-minor :type 'hook) (byte-code "\302\303\304\305\306!\205 \306J#\210\307\303\310\311#\210\301B\305\301!\204\312\312\207" [current-load-list cvs-temp-buffers add-minor-mode cvs-minor-mode #(" CVS" 0 4 (local-map (keymap (header-line keymap (down-mouse-3 . mode-line-mode-menu-1)) (mode-line keymap (down-mouse-3 . mode-line-mode-menu-1))) help-echo "mouse-3: minor mode menu")) boundp cvs-minor-mode-map put permanent-local t nil] 5) #@420 Create a temporary buffer to run CMD in. If CMD is a string, use it to lookup `cvs-buffer-name-alist' to find the buffer name to be used and its `major-mode'. The selected window will not be changed. The new buffer will not maintain undo information and will be read-only unless NORMAL is non-nil. It will be emptied (unless NOSETUP is non-nil) and its `default-directory' will be inherited from the current buffer. (defalias 'cvs-temp-buffer #[(&optional cmd normal nosetup) "p\306 \n\"A\307 @! A@#$\f\203\310\f!\202=\311\f!\2032\312\f!\2032\f\202=\313\314!\310\307%!\315\"L&\316&!'(\204^\317'!\203^\320'!\321>\203^\322\323!\210)\f\204j\324\325!\210\202})\204v\212\326&!\210)\313\325!&L\210\327\330&\"\210r&q\210\331*$#)\204\227\332 \210\313\333!L\210+\334 !\203\255 \210\202\260\335 \210+\203\274\313\336!+L\210)\337\340!\210(\204\314\341*\342 \210&.\207" [cvs-buf cmd cvs-buffer-name-alist info name mode assoc eval cvs-get-buffer-create bufferp buffer-name make-local-variable cvs-temp-buffer noreuse get-buffer-process processp process-status (run stop) error "Can not run two cvs processes simultaneously" kill-local-variable other-window-scroll-buffer display-buffer add-to-list cvs-temp-buffers nil erase-buffer cvs-buffer fboundp fundamental-mode list-buffers-directory cvs-minor-mode 1 t buffer-disable-undo default-directory dir cvs-temp-buffer-name buf proc normal nosetup buffer-read-only lbd] 4 (#$ . 10508)]) #@63 Kill all the "temporary" buffers created by the *cvs* buffer. (defalias 'cvs-mode-kill-buffers #[nil "\303\211\203\n@\304\305\306\217\210\nA\211\204*\303\207" [cvs-temp-buffers buf #1=#:--dolist-temp--97343 nil #2=#:G97344 (kill-buffer buf) ((error))] 4 (#$ . 11994) nil]) #@105 Create the *cvs* buffer for directory DIR. If non-nil, NEW means to create a new buffer no matter what. (defalias 'cvs-make-cvs-buffer #[(dir &optional new) "\306\307 !!)\310\n!\f\204 \311=\203 \312 \203 p\2061\212\f?\205)\313\314\215)\2061\315 \f\"'r'q\210(\230\203K\312 \203K\316\317\320\217\206\210(\321)\322 \210\323\324\325 !\326\327 \330\331!\332\261\210\333)\334 \210\335\336! L\210\337\340\341\342#*\335\343!*L\210\344\345\346\321\333$\210')+\207" [dir d cvs-buffer-name buffer-name new cvs-reuse-cvs-buffer file-name-as-directory expand-file-name eval current cvs-buffer-p --cl-block-nil-- (byte-code "p\305 B\306\211\203H @\211q\210\307 \203A\n\310=\204<\n\311=\2030\312 \f\"\204<\312\f \"\2029\n\313=\203A \f\230\203A\314\315\"\210 A\211\204 *\306\207" [buffer #1=#:--dolist-temp--97345 cvs-reuse-cvs-buffer default-directory dir buffer-list nil cvs-buffer-p always subdir cvs-string-prefix-p samedir throw --cl-block-nil--] 4) cvs-get-buffer-create #2=#:G97346 (byte-code "\301\302\211\303$\210p\207" [cvs-cookies cvs-cleanup-collection nil t] 5) ((error)) nil erase-buffer "Repository : " directory-file-name cvs-get-cvsroot "\nModule : " cvs-get-module "\nWorking dir: " abbreviate-file-name "\n\n" t cvs-mode make-local-variable list-buffers-directory ewoc-create cvs-fileinfo-pp "\n" "" cvs-cookies add-hook kill-buffer-hook #[nil "\300\301\302\217\207" [#3=#:G97347 (kill-buffer cvs-temp-buffer) ((error))] 3] buffer default-directory buffer-read-only cookies] 7 (#$ . 12283)]) (defalias 'cvs-cmd-do #[(cmd dir flags fis new &rest #1=#:--rest--97348) "\306>A@\307>A@\310>A@\311>A@ \203D @\312>\203- AA\211\202\313>A@\203;\314\211\202\315\316 @\"\210\202)\317\320\321!!!\322\"\323!\204d\315\324\"\210\n\204x\323\321\325\"!\204x\315\326\"\210q\210\327\306 \310 &\210\f\203\223\202\233\314\330!).\207" [#1# cvsargs noexist dont-change-disc noshow #2=#:--keys--97349 :cvsargs :noexist :dont-change-disc :noshow (:cvsargs :noexist :dont-change-disc :noshow :allow-other-keys) :allow-other-keys nil error "Keyword argument %s not one of (:cvsargs :noexist :dont-change-disc :noshow)" file-name-as-directory abbreviate-file-name expand-file-name cvs-make-cvs-buffer file-directory-p "%s is not a directory" "CVS" "%s does not contain CVS controlled files" cvs-mode-run pop-to-buffer dir new cvsbuf cmd flags fis pop-up-windows] 9]) (defalias 'cvs-run-process #[(args fis postprocess &optional single-dir) "\306!\204\f\307\310\311C\"\210rp \206\n\312=\211q\210db\210n\204)\312\313c\210)5\2032 \204=\314\315\3165\"\317E\202\2675@\320H6>\204O\321\3225@\"\2105@\323H7\312\3247\313\261\210)\31785\2115@95\203\25779\320H6>\204\202\321\3229\"\2109\323H\230\203\2579\320H6>\204\232\321\3259\"\2109\326H8B85A\2115@9\202k785E,\211:@7:A@8\327:8;\330\331!;\204\326<\202\350\332\333=D\333;D\333\205\343>D=8$=\317?7@\344\345@!!)A\346\347\350\fB=%)C\351C\352\"\210\353C\354\"\210\355C!d\317\223\210\356\357\360\217\210 q\210\361\362C!!D\363 \210. \364\320!\207" [cvs-buffer single-dir cvs-execute-single-dir cvsbuf procbuf inhibit-read-only cvs-buffer-p signal cl-assertion-failed (cvs-buffer-p cvs-buffer) t "\n" "" mapcar cvs-fileinfo->full-path nil 0 error "cvs-fileinfo->dir accessing a non-cvs-fileinfo" 4 "pcl-cvs: descending directory " "cvs-fileinfo->file accessing a non-cvs-fileinfo" 5 2 make-local-variable cvs-postprocess cvs-run-process quote add-hook kill-buffer-hook #[nil "\301p!\302!\205\303\304\"\210\305\304\"\210\306!)\207" [proc get-buffer-process processp set-process-filter nil set-process-sentinel delete-process] 3] append cvs-flags-query cvs-cvs-flags noquery "-d" file-name-as-directory expand-file-name apply start-process "cvs" set-process-sentinel cvs-sentinel set-process-filter cvs-update-filter process-mark #1=#:G97350 (process-send-eof process) ((error)) symbol-name process-status force-mode-line-update sit-for fis cl-struct-cvs-fileinfo-tags dir files fi dir+files+rest rest postprocess args cvs-cvsroot process-connection-type d default-directory cvs-program process cvs-mode-line-process] 8]) (defalias 'cvs-update-header #[(args fis) "\306\307\310 \"\311\312\313\314\306\315#\n\205\316\nD \307\317 \"$! \203+\320 \321\f\322\260\202,\323(\324)!@*\325)\326\"\211+\203k\327+!\211,\326H->\204U\330\331,\"\210,\332H)\333>\203k\334)+\"\211+\204@\335\336*\"\203}\337\340\341*\"\342Q*\343)(\344+\203\214\345\202\215\346\347*R#.\207" [lastarg args cvs-cvsroot fis arg cvs-program nil mapcar #[(arg) "\302=\203 \303\230\203\304 \207\304=\203 \305\230\203 \306 \207\306=\203*\307\310\207 \207" [lastarg arg nil "commit" commit "-m" -m done ""] 2] cvs-strings->string append cvs-flags-query cvs-cvs-flags noquery "-d" cvs-fileinfo->full-path "-- Running " " " " ...\n" "\n" ewoc-get-hf ewoc-nth 0 ewoc-data error "cvs-fileinfo->type accessing a non-cvs-fileinfo" 2 (MESSAGE DIRCHANGE) ewoc-next string-match "Running \\(.*\\) ...\n" "-- last cmd: " match-string 1 " --" ewoc-set-hf "\n--------------------- " "End" "Empty" " ---------------------\n" str cvs-cookies prev-msg tin cl-x cl-struct-cvs-fileinfo-tags] 9]) #@122 Sentinel for the cvs update process. This is responsible for parsing the output from the cvs update when it is finished. (defalias 'cvs-sentinel #[(proc msg) "\306!\307>\205W\310\311!!\204\312\313!\207p\311!r\nq\210 )q\210\314\306!!\315 \210\nq\210 \316!\210\317\212\320!\210) \204S\321 \210r q\210\322\317\211\"\210\323\324!\210)) q*\207" [proc obuf procbuffer cvs-buffer cvs-mode-line-process cvs-postprocess process-status (signal exit) buffer-name process-buffer error "cvs' process buffer was killed" symbol-name force-mode-line-update delete-process nil eval buffer-enable-undo cvs-update-header message "CVS process has completed" cvs-postproc] 3 (#$ . 17657)]) #@26 FIXME: bad name, no doc. (defalias 'cvs-parse-process #[(dcd &optional subdir) "p\306\307 \n#\fq\310 ` \310\211\2033@\311 # A\211\204*\312\313=\310$\210\203R \204R\204R\314 !\210b\210q-\207" [from-buf dcd subdir fileinfos cvs-buffer _ cvs-parse-buffer cvs-parse-table nil cvs-addto-collection cvs-cleanup-collection t cvs-revert-if-needed last from-pt fi #1=#:--dolist-temp--97351 cvs-cookies cvs-auto-remove-handled cvs-auto-remove-directories cvs-auto-revert cvs-from-vc] 5 (#$ . 18349)]) #@859 Define a function to be used in a *cvs* buffer. This will look for a *cvs* buffer and execute BODY in it. Since the interactive arguments might need to be queried after switching to the *cvs* buffer, the generic code is rather ugly, but luckily we can often use simpler alternatives. FUN can be either a symbol (i.e. STYLE is nil) or a cons (FUN . STYLE). ARGS and DOCSTRING are the normal argument list. INTERACT is the interactive specification or nil for non-commands. STYLE can be either SIMPLE, NOARGS or DOUBLE. It's an error for it to have any other value, unless other details of the function make it clear what alternative to use. - SIMPLE will get all the interactive arguments from the original buffer. - NOARGS will get all the arguments from the *cvs* buffer and will always behave as if called interactively. - DOUBLE is the generic case. (defalias 'defun-cvs-mode '(macro . #[(fun args docstring interact &rest body) "\306!\211:\203 @\202 )\211\307=\204& A@\203& A@;\2038\310\f \311\312\313BBD\257\202\245\n\314=\203R\310\313 \315\311\312\f BBBD\257\202\245\n\316=\203\241\317\320 \"\210\321\322 \" \322\225\313O\323\324!\325P! !\"\326\310 \f \327\324!\330R BBBBB\310\313\"\331\324 !\332R\333\311\334 DD\257E+\202\245\335\336\n\"*\207" [fun x style interact args docstring cvs-cdr SIMPLE defun cvs-mode! lambda nil NOARGS (interactive) DOUBLE string-match ".*" match-string 0 intern symbol-name "-1" progn "\nThis function only works within a *cvs* buffer.\nFor interactive use, use `" "' instead." "\nWrapper function that switches to a *cvs* buffer\nbefore calling the real function `" "'.\n" (interactive) quote error "unknown style %s in `defun-cvs-mode'" body fun-1 restdoc line1] 11 (#$ . 18890)])) (put 'defun-cvs-mode 'edebug-form-spec '(&define sexp lambda-list stringp ("interactive" interactive) def-body)) #@51 Kill the temporary buffer and associated process. (defalias 'cvs-mode-kill-process #[nil "\300\301!\207" [cvs-mode! #[nil "\302!\205\303!\205\304!\211\205\305 !)\207" [cvs-temp-buffer proc bufferp buffer-name get-buffer-process delete-process] 3]] 2 (#$ . 20773) nil]) #@191 Add FI to C and return FI's corresponding tin. FI is inserted in its proper place or maybe even merged with a preexisting fileinfo if applicable. TIN specifies an optional starting point. (defalias 'cvs-addto-collection #[(c fi &optional tin) "\204 \305 \306\"\203\307\n\310!\"\203\311 \"\211\204 \204(\312 \n\"\207\307\n\310!\"\2037\313\314\315C\"\210\316 \"\211\203T\307\n\310 !\"\204T \316 \"\211\204@\307\310!\n\"\204r\n\306H\f>\204j\317\320\n\"\210\n\321H\322=\203z\323 \n#\202\207\324\310!\n\"\210\325 \"\210)\207" [tin c fi next-tin cl-struct-cvs-fileinfo-tags ewoc-nth 0 cvs-fileinfo< ewoc-data ewoc-prev ewoc-enter-first signal cl-assertion-failed (not (cvs-fileinfo< fi (ewoc-data tin))) ewoc-next error "cvs-fileinfo->type accessing a non-cvs-fileinfo" 2 MESSAGE ewoc-enter-after cvs-fileinfo-update ewoc-invalidate] 5 (#$ . 21059)]) #@172 Functions to tweak the cleanup process. The functions are called with a single argument (a FILEINFO) and should return a non-nil value if that fileinfo should be removed. (custom-declare-variable 'cvs-cleanup-functions 'nil '(#$ . 21946) :group 'pcl-cvs :type '(hook :options (cvs-cleanup-removed))) #@300 Non-nil if FI has been cvs-removed but still exists. This is intended for use on `cvs-cleanup-functions' when you have cvs-removed automatically generated files (which should hence not be under CVS control) but can't commit the removal because the repository's owner doesn't understand the problem. (defalias 'cvs-cleanup-removed #[(fi) "\302H >\204 \303\304\"\210\305H\306=\204?\302H >\204\"\303\304\"\210\305H\307=\205D\302H >\2047\303\310\"\210\311H\306=\205D\312\313!!\207" [fi cl-struct-cvs-fileinfo-tags 0 error "cvs-fileinfo->type accessing a non-cvs-fileinfo" 2 REMOVED CONFLICT "cvs-fileinfo->subtype accessing a non-cvs-fileinfo" 3 file-exists-p cvs-fileinfo->full-path] 3 (#$ . 22253)]) #@193 Remove undesired entries. C is the collection RM-HANDLED if non-nil means remove handled entries. RM-DIRS behaves like `cvs-auto-remove-directories'. RM-MSGS if non-nil means remove messages. (defalias 'cvs-cleanup-collection #[(c rm-handled rm-dirs rm-msgs) "\306\211\307\205P\306\307\310\311\312\313\211$\314 \315\"\210\f\203 \204\n\316H >\204/\317\320\n\"\210\n\321H\322=\203\n\316H >\204D\317\323\n\"\210\n\321\311I\210\307\211\204\n\306+\207" [rerun first-dir last-fi c rm-dirs cl-struct-cvs-fileinfo-tags nil t cvs-create-fileinfo DEAD "../" "" ewoc-filter #[(fi) "\306H >\204 \307\310\"\210\311H\306H >\204\307\312\"\210\313H\n\314=\2033\f\206/ \315=?\202M\n\316=\203=\317\202M\n\320=\203H ?\202M\321\322\"?\211\203\325\203\325\306H >\204g\307\310\"\210\311H\323=\203\325\203{\317\202\325\324=\204\275\325\306H >\204\222\307\326\"\210\327H\306H >\204\243\307\326\"\210\327H\"\203\275\n\323=\203\267\330=\204\275 \331=\203\325\306H >\204\314\307\332\"\210\311\316I\210\333 \205\336\211+\207" [fi cl-struct-cvs-fileinfo-tags type subtype rm-msgs rm-handled 0 error "cvs-fileinfo->type accessing a non-cvs-fileinfo" 2 "cvs-fileinfo->subtype accessing a non-cvs-fileinfo" 3 MESSAGE TEMP DEAD nil UP-TO-DATE run-hook-with-args-until-success cvs-cleanup-functions DIRCHANGE all cvs-string-prefix-p "cvs-fileinfo->dir accessing a non-cvs-fileinfo" 4 empty FOOTER "cvs-fileinfo->type storing a non-cvs-fileinfo" t keep rm-dirs last-fi first-dir rerun] 6] 0 error "cvs-fileinfo->type accessing a non-cvs-fileinfo" 2 DIRCHANGE "cvs-fileinfo->type storing a non-cvs-fileinfo"] 6 (#$ . 22974)]) #@27 Gets the CVSROOT for DIR. (defalias 'cvs-get-cvsroot #[nil "\302\303\304\"\305\306\"\206 \206\307\310!\206\311)\207" [cvs-cvsroot-file cvs-cvsroot expand-file-name "Root" "CVS" cvs-file-to-string t getenv "CVSROOT" "?????"] 3 (#$ . 24661)]) #@101 Return the current CVS module. This usually doesn't really work but is a handy initval in a prompt. (defalias 'cvs-get-module #[nil "\304\305\306\"\307\310\"\211\204\311\202@\312 !\204 \202@\313 \314\n\206%\315!\316 Q\n\203<\317\320 \"\203<\321\322 \"\202?\323 !**\207" [repfile rep root str expand-file-name "Repository" "CVS" cvs-file-to-string t "" file-name-absolute-p cvs-get-cvsroot file-name-as-directory "/" " || " string-match "\\(.*\\) || \\1\\(.*\\)\\'" match-string 2 file-name-nondirectory] 4 (#$ . 24917)]) #@187 Run a 'cvs checkout MODULES' in DIR. Feed the output to a *cvs* buffer, display it in the current window, and run `cvs-mode' on it. With a prefix argument, prompt for cvs FLAGS to use. (defalias 'cvs-checkout #[(modules dir flags) "\304=\203\f\305\306\307\310#\311\312 \206\n\313 \"\307\314\315\304&\207" [flags dir default-directory modules t cvs-flags-query cvs-checkout-flags nil noquery cvs-cmd-do "checkout" append new :noexist] 8 (#$ . 25460) (list (cvs-string->strings (read-string "Module(s): " (cvs-get-module))) (read-file-name "CVS Checkout Directory: " nil default-directory nil) (cvs-add-branch-prefix (cvs-flags-query 'cvs-checkout-flags "cvs checkout flags")))]) #@70 Rerun `cvs-examine' on the current directory with the default flags. (defalias 'cvs-mode-revert-buffer #[(&optional ignore-auto noconfirm) "\300\301!\207" [cvs-mode! #[nil "\301\302\"\207" [default-directory cvs-examine t] 3]] 2 (#$ . 26152) nil]) (defalias 'cvs-query-directory #[(msg) "\304 \203\204 \305=\204\n\207\306 \307\n\307$\207" [current-prefix-arg last-command-char default-directory msg cvs-buffer-p 13 read-file-name nil] 5]) #@304 Open a *cvs* buffer on DIR without running cvs. With a prefix argument, prompt for a directory to use. A prefix arg >8 (ex: \[universal-argument] \[universal-argument]), prevents reuse of an existing *cvs* buffer. Optional argument NOSHOW if non-nil means not to display the buffer. FLAGS is ignored. (defalias 'cvs-quickdir #[(dir &optional flags noshow) "\306\307\310!!!\311 !\312V\313\n\"\314\315!\204 \316\317\"\210\315\310\320\"!\204.\316\321\"\210 q\210\322\323!\314\211\203P@\324 \f#A\211\204<*\325\326=\314$\210\203f \202m\314\327 !),\207" [dir current-prefix-arg new cvsbuf last fi file-name-as-directory abbreviate-file-name expand-file-name prefix-numeric-value 8 cvs-make-cvs-buffer nil file-directory-p error "%s is not a directory" "CVS" "%s does not contain CVS controlled files" cvs-fileinfo-from-entries "" cvs-addto-collection cvs-cleanup-collection t pop-to-buffer #1=#:--dolist-temp--97356 cvs-cookies cvs-auto-remove-handled cvs-auto-remove-directories noshow pop-up-windows] 5 (#$ . 26606) (list (cvs-query-directory "CVS quickdir (directory): "))]) #@427 Run a `cvs -n update' in the specified DIRECTORY. That is, check what needs to be done, but don't change the disc. Feed the output to a *cvs* buffer and run `cvs-mode' on it. With a prefix argument, prompt for a directory and cvs FLAGS to use. A prefix arg >8 (ex: \[universal-argument] \[universal-argument]), prevents reuse of an existing *cvs* buffer. Optional argument NOSHOW if non-nil means not to display the buffer. (defalias 'cvs-examine #[(directory flags &optional noshow) "\304=\203\f\305\306\307\310#\311\312 \307\313\n!\314V\315\316\317 \320\304& \207" [flags directory current-prefix-arg noshow t cvs-flags-query cvs-update-flags nil noquery cvs-cmd-do "update" prefix-numeric-value 8 :cvsargs ("-n") :noshow :dont-change-disc] 12 (#$ . 27726) (list (cvs-query-directory "CVS Examine (directory): ") (cvs-flags-query 'cvs-update-flags "cvs -n update flags"))]) #@296 Run a `cvs update' in the current working DIRECTORY. Feed the output to a *cvs* buffer and run `cvs-mode' on it. With a prefix argument, prompt for a directory and cvs FLAGS to use. A prefix arg >8 (ex: \[universal-argument] \[universal-argument]), prevents reuse of an existing *cvs* buffer. (defalias 'cvs-update #[(directory flags) "\303=\203\f\304\305\306\307#\310\311 \306\312\n!\313V%\207" [flags directory current-prefix-arg t cvs-flags-query cvs-update-flags nil noquery cvs-cmd-do "update" prefix-numeric-value 8] 7 (#$ . 28615) (list (cvs-query-directory "CVS Update (directory): ") (cvs-flags-query 'cvs-update-flags "cvs update flags"))]) #@365 Run a `cvs status' in the current working DIRECTORY. Feed the output to a *cvs* buffer and run `cvs-mode' on it. With a prefix argument, prompt for a directory and cvs FLAGS to use. A prefix arg >8 (ex: \[universal-argument] \[universal-argument]), prevents reuse of an existing *cvs* buffer. Optional argument NOSHOW if non-nil means not to display the buffer. (defalias 'cvs-status #[(directory flags &optional noshow) "\304=\203\f\305\306\307\310#\311\312 \307\313\n!\314V\315 \316\304& \207" [flags directory current-prefix-arg noshow t cvs-flags-query cvs-status-flags nil noquery cvs-cmd-do "status" prefix-numeric-value 8 :noshow :dont-change-disc] 10 (#$ . 29279) (list (cvs-query-directory "CVS Status (directory): ") (cvs-flags-query 'cvs-status-flags "cvs status flags"))]) #@247 Filter function for pcl-cvs. This function gets the output that CVS sends to stdout. It inserts the STRING into (process-buffer PROC) but it also checks if CVS is waiting for a lock file. If so, it inserts a message cookie in the *cvs* buffer. (defalias 'cvs-update-filter #[(proc string) "\306 \307\216r\310 !q\210\311\212\312 !b\210 c\210\312 !`\313\223\210\314\315!\210\316\317!\205\\\320\321!\320\322!r!q\210\323\324!\fL\210\325\"\326\327\330\331 \332\f!\205K\333\334!P\335\336&\"\210\337p!\210db\210\340 +-\207" [save-match-data-internal proc inhibit-read-only string lock msg match-data ((set-match-data save-match-data-internal)) process-buffer t process-mark nil beginning-of-line 0 looking-at "^[ a-z]+: \\(.*waiting for .*lock in \\(.*\\)\\)$" match-string 1 2 make-local-variable cvs-lock-file ewoc-enter-last cvs-create-fileinfo MESSAGE "" " " file-exists-p substitute-command-keys "\n (type \\[cvs-mode-delete-lock] to delete it)" :subtype TEMP pop-to-buffer beep cvs-buffer cvs-cookies] 9 (#$ . 30077)]) #@64 See `cvs-prefix-set' for further description of the behavior. (defvar cvs-force-command nil (#$ . 31112)) (byte-code "\304B\305\305G\nY\204\306 \307\nS @\"\"\310\311 \312\313 \312&)\312\207" [current-load-list defaults cvs-prefix-number cvs-qtypedesc-string1 cvs-force-command-cps ("/F") append make-list vector cl-struct-cvs-flags nil ""] 7) #@352 Force the next cvs command to operate on all the selected files. By default, cvs commands only operate on files on which the command "makes sense". This overrides the safety feature on the next cvs command. It actually behaves as a toggle. If prefixed by \[universal-argument] \[universal-argument], the override will persist until the next toggle. (defalias 'cvs-mode-force-command #[(arg) "\300\301!\207" [cvs-mode! #[nil "\301\302\"\207" [arg cvs-prefix-set cvs-force-command] 3]] 2 (#$ . 31471) "P"]) (byte-code "\303\304\305\306#\210\301B\307\301!\204\310 \302B\307\302!\204\"\311\312\313\"\314B\315\314\313\"\210\303\304\316\317#\207" [current-load-list cvs-mode-map cvs-mode-syntax-table put cvs-mode mode-class special boundp make-sparse-keymap make-char-table syntax-table nil cvs-mode-abbrev-table define-abbrev-table derived-mode-parent fundamental-mode] 4) #@186 Mode used for PCL-CVS, a frontend to CVS. Full documentation is in the Texinfo file. This mode runs the hook `cvs-mode-hook', as the final step during initialization. \{cvs-mode-map} (defalias 'cvs-mode #[nil "\306 \210\306\307N\203\310\311\307\312#\210\311\313\314\n!\204\315\n\316 \"\210\317 !\211\203.\f\320 =\2034\321 \322 \"\210) \203>\323\324 \"\210\325\n!\210\326 !\210%\327&\330p!\210\331\332!\333L\210\312'\334\335!\210\334\336!\210\334\337!\210\334\340!\210\331\341!\210\331\342!\210\343\344!\207" [major-mode mode-name cvs-mode-map cvs-mode-syntax-table parent local-abbrev-table fundamental-mode special put cvs-mode t "CVS" keymap-parent set-keymap-parent current-local-map char-table-parent standard-syntax-table set-char-table-parent syntax-table mapatoms #[(symbol) "\302\303! \"\206\304 \303!JK$\207" [symbol cvs-mode-abbrev-table intern-soft symbol-name define-abbrev] 5] use-local-map set-syntax-table ("" cvs-force-command cvs-ignore-marks-modif ":" (cvs-branch-prefix ("" cvs-branch-prefix (cvs-secondary-branch-prefix ("->" cvs-secondary-branch-prefix)))) " " cvs-mode-line-process) buffer-disable-undo make-local-variable revert-buffer-function cvs-mode-revert-buffer cvs-prefix-make-local cvs-branch-prefix cvs-secondary-branch-prefix cvs-force-command cvs-ignore-marks-modif cvs-mode-line-process cvs-temp-buffers run-hooks cvs-mode-hook cvs-mode-abbrev-table mode-line-process truncate-lines] 5 (#$ . 32361) nil]) #@72 Return whether the (by default current) BUFFER is a `cvs-mode' buffer. (defalias 'cvs-buffer-p #[(&optional buffer) "\212\203q\210 )\302=\207" [buffer major-mode cvs-mode] 2 (#$ . 33829)]) #@65 Check that the current buffer follows cvs-buffer's conventions. (defalias 'cvs-buffer-check #[nil "p\306\307\211\203<\310\n! =\203<\303\211\203< \2038\311 !\2038r q\210\f) =\203<r q\210 ) \232\203<\312\202C\313\314\311 !#*\207" [check buf cvs-cookies cvs-temp-buffer cvs-buffer default-directory none collection ewoc-buffer buffer-name t error "Inconsistent %s in buffer %s"] 5 (#$ . 34028)]) #@41 Quit PCL-CVS, killing the *cvs* buffer. (defalias 'cvs-mode-quit #[nil "\300\301!\205 \302p!\207" [y-or-n-p "Quit pcl-cvs? " kill-buffer] 2 (#$ . 34440) nil]) #@44 Display help for various PCL-CVS commands. (defalias 'cvs-help #[nil "\301=\203\n\302\303!\207\304\305\306!!\207" [last-command cvs-help describe-function cvs-mode message substitute-command-keys "`\\[cvs-help]':help `\\[cvs-mode-add]':add `\\[cvs-mode-commit]':commit `\\[cvs-mode-diff-map]':diff* `\\[cvs-mode-log]':log `\\[cvs-mode-remove]':remove `\\[cvs-mode-status]':status `\\[cvs-mode-undo]':undo"] 3 (#$ . 34606) nil]) #@82 Go to the previous line. If a prefix argument is given, move by that many lines. (defalias 'cvs-mode-previous-line #[(arg) "\300\301!\207" [cvs-mode! #[nil "\302 \"\207" [cvs-cookies arg ewoc-goto-prev] 3]] 2 (#$ . 35042) "p"]) #@78 Go to the next line. If a prefix argument is given, move by that many lines. (defalias 'cvs-mode-next-line #[(arg) "\300\301!\207" [cvs-mode! #[nil "\302 \"\207" [cvs-cookies arg ewoc-goto-next] 3]] 2 (#$ . 35277) "p"]) #@160 Mark the fileinfo on the current line. If the fileinfo is a directory, all the contents of that directory are marked instead. A directory can never be marked. (defalias 'cvs-mode-mark #[(&optional arg) "\300\301!\207" [cvs-mode! #[nil "\305!\306 !\211\307H >\204\310\311\n\"\210\n\312H\313=\2034\314\315\n\307H >\204-\310\316\n\"\210\n\317H#\202h\n\307H >\204A\310\320\n\"\210\n\321\f\322=\203\\\n\307H >\204V\310\323\n\"\210\n\321H\202]\f?I\210\324 \"\210\325\321!*\207" [cvs-cookies tin fi cl-struct-cvs-fileinfo-tags arg ewoc-locate ewoc-data 0 error "cvs-fileinfo->type accessing a non-cvs-fileinfo" 2 DIRCHANGE ewoc-map #[(f dir) "\304 \"\2054\305H\n>\204\306\307\"\210\310 \311=\203/\305H\n>\204)\306\312\"\210\310H\2020 ?I\210\313\207" [f dir cl-struct-cvs-fileinfo-tags arg cvs-dir-member-p 0 error "cvs-fileinfo->marked storing a non-cvs-fileinfo" 1 toggle "cvs-fileinfo->marked accessing a non-cvs-fileinfo" t] 5] "cvs-fileinfo->dir accessing a non-cvs-fileinfo" 4 "cvs-fileinfo->marked storing a non-cvs-fileinfo" 1 toggle "cvs-fileinfo->marked accessing a non-cvs-fileinfo" ewoc-invalidate cvs-mode-next-line] 7]] 2 (#$ . 35505) nil]) #@47 Toggle the mark of the entry under the mouse. (defalias 'cvs-mouse-toggle-mark #[(e) "\212\301!\210\302\303!)\207" [e mouse-set-point cvs-mode-mark toggle] 2 (#$ . 36685) "e"]) #@42 Unmark the fileinfo on the current line. (defalias 'cvs-mode-unmark #[nil "\300\301!\207" [cvs-mode! #[nil "\300\301!\207" [cvs-mode-mark t] 2]] 2 (#$ . 36869) nil]) #@17 Mark all files. (defalias 'cvs-mode-mark-all-files #[nil "\300\301!\207" [cvs-mode! #[nil "\301\302\"\207" [cvs-cookies ewoc-map #[(cookie) "\302H >\204 \303\304\"\210\305H\306=?\205'\302H >\204#\303\307\"\210\310\311I\207" [cookie cl-struct-cvs-fileinfo-tags 0 error "cvs-fileinfo->type accessing a non-cvs-fileinfo" 2 DIRCHANGE "cvs-fileinfo->marked storing a non-cvs-fileinfo" 1 t] 3]] 3]] 2 (#$ . 37041) nil]) #@32 Mark all files in state STATE. (defalias 'cvs-mode-mark-on-state #[(state) "\300\301!\207" [cvs-mode! #[nil "\301\302\"\207" [cvs-cookies ewoc-map #[(fi) "\303H >\204 \304\305\"\210\306H\n=\205&\303H >\204\"\304\307\"\210\310\311I\207" [fi cl-struct-cvs-fileinfo-tags state 0 error "cvs-fileinfo->type accessing a non-cvs-fileinfo" 2 "cvs-fileinfo->marked storing a non-cvs-fileinfo" 1 t] 3]] 3]] 2 (#$ . 37471) (list (let ((default (condition-case nil (downcase (symbol-name (cvs-fileinfo->type (cvs-mode-marked nil nil :read-only t :one t :noquery t)))) (error nil)))) (intern (upcase (completing-read (concat "Mark files in state" (if default (concat " [" default "]")) ": ") (mapcar (lambda (x) (list (downcase (symbol-name (car x))))) cvs-states) nil t nil nil default)))))]) #@32 Mark all files matching REGEX. (defalias 'cvs-mode-mark-matching-files #[(regex) "\300\301!\207" [cvs-mode! #[nil "\301\302\"\207" [cvs-cookies ewoc-map #[(cookie) "\303H >\204 \304\305\"\210\306H\307=?\205=\310\n\303H >\204%\304\311\"\210\312H\"\205=\303H >\2049\304\313\"\210\314\315I\207" [cookie cl-struct-cvs-fileinfo-tags regex 0 error "cvs-fileinfo->type accessing a non-cvs-fileinfo" 2 DIRCHANGE string-match "cvs-fileinfo->file accessing a non-cvs-fileinfo" 5 "cvs-fileinfo->marked storing a non-cvs-fileinfo" 1 t] 5]] 3]] 2 (#$ . 38268) "sMark files matching: "]) #@113 Unmark all files. Directories are also unmarked, but that doesn't matter, since they should always be unmarked. (defalias 'cvs-mode-unmark-all-files #[nil "\300\301!\207" [cvs-mode! #[nil "\301\302\"\207" [cvs-cookies ewoc-map #[(cookie) "\302H >\204 \303\304\"\210\305\306I\210\307\207" [cookie cl-struct-cvs-fileinfo-tags 0 error "cvs-fileinfo->marked storing a non-cvs-fileinfo" 1 nil t] 3]] 3]] 2 (#$ . 38864) nil]) #@39 Unmark the file on the previous line. (defalias 'cvs-mode-unmark-up #[nil "\300\301!\207" [cvs-mode! #[nil "\304\305\"\211\205$\306 !\211\307H >\204\310\311\n\"\210\n\305\312I\210)\313 \")\207" [cvs-cookies tin #1=#:--x--97369 cl-struct-cvs-fileinfo-tags ewoc-goto-prev 1 ewoc-data 0 error "cvs-fileinfo->marked storing a non-cvs-fileinfo" nil ewoc-invalidate] 4]] 2 (#$ . 39295) nil]) (byte-code "\301B\302\301\207" [current-load-list cvs-ignore-marks-alternatives (("toggle-marks" . "/TM") ("force-marks" . "/FM") ("ignore-marks" . "/IM"))] 2) #@112 Prefix to decide whether to ignore marks or not. See `cvs-prefix-set' for further description of the behavior. (defvar cvs-ignore-marks-modif nil (#$ . 39858)) (byte-code "\306B\307\310 \"\211G Y\204\311\n\312 S\n@\"\"\n\313\314\315\316\317 \320\f\321&+\316\322\n\320\323\320&+\320\207" [current-load-list cvs-ignore-marks-alternatives defaults cvs-prefix-number complete obj2str cvs-ignore-marks-modif-cps mapcar cdr append make-list #[(str) "\302 \"A\207" [str cvs-ignore-marks-alternatives assoc] 3] #[(obj) "\302 \"@\207" [obj cvs-ignore-marks-alternatives rassoc] 3] #[nil "\207" [cvs-ignore-marks-alternatives] 1] vector cl-struct-cvs-qtypedesc nil t cl-struct-cvs-flags "active" str2obj qtypedesc] 9) #@254 Toggle whether the next CVS command uses marks. See `cvs-prefix-set' for further description of the behavior. \[universal-argument] 1 selects `force-marks', \[universal-argument] 2 selects `ignore-marks', \[universal-argument] 3 selects `toggle-marks'. (defalias 'cvs-mode-toggle-marks #[(arg) "\300\301!\207" [cvs-mode! #[nil "\301\302\"\207" [arg cvs-prefix-set cvs-ignore-marks-modif] 3]] 2 (#$ . 40597) "P"]) (defalias 'cvs-ignore-marks-p #[(cmd &optional read-only) " \235\203 \n?\202\f\n\306\307 \"\f\310\232\203\311\2022\f\312\232\203' ?\2022\f\313\232\2031\314\2022 *\207" [cmd cvs-invert-ignore-marks cvs-default-ignore-marks read-only modif default cvs-prefix-get cvs-ignore-marks-modif "/IM" t "/TM" "/FM" nil] 4]) (defalias 'cvs-mode-mark-get-modif #[(cmd) "\301\302\"\203 \303\207\304\207" [cmd cvs-ignore-marks-p read-only "/IM" "/FM"] 3]) (byte-code "\301B\301\207" [current-load-list cvs-minor-current-files] 2) #@410 Return a list of all selected fileinfos. If there are any marked tins, and IGNORE-MARKS is nil, return them. Otherwise, if the cursor selects a directory, and IGNORE-CONTENTS is nil, return all files in it, else return just the directory. Otherwise return (a list containing) the file the cursor points to, or an empty list if it doesn't point to a file at all. Args: &optional IGNORE-MARKS IGNORE-CONTENTS. (defalias 'cvs-get-marked #[(&optional ignore-marks ignore-contents) "\306\307\301!\203 :\203\310\311 \"\202%\n\204\312 \313\"\206%\314\315 !!C\306\211\203q @\204J\f\316H>\204B\317\320\f\"\210\f\321H\322=\204Q\fB\202j\323\312 \324\f\316H>\204c\317\325\f\"\210\f\326H#\" A\211\204,*\237)\207" [fis cvs-minor-current-files ignore-marks cvs-cookies fi #1=#:--dolist-temp--97371 nil boundp mapcar #[(f) "\304!\203G\305Y\203\306H >\203\207\307!\310!\203,\311\312\313!\314\315$\202?\316!\317!\311\320 \206;\315\n\315$*)\207" [f cl-struct-cvs-fileinfo-tags file dir vectorp 10 0 file-relative-name file-directory-p cvs-create-fileinfo DIRCHANGE file-name-as-directory "." "" file-name-directory file-name-nondirectory UNKNOWN] 5] ewoc-collect cvs-fileinfo->marked ewoc-data ewoc-locate 0 error "cvs-fileinfo->type accessing a non-cvs-fileinfo" 2 DIRCHANGE append cvs-dir-member-p "cvs-fileinfo->dir accessing a non-cvs-fileinfo" 4 ignore-contents cl-struct-cvs-fileinfo-tags] 8 (#$ . 41549)]) #@328 Get the list of marked FIS. CMD is used to determine whether to use the marks or not. Only files for which FILTER is applicable are returned. If READ-ONLY is non-nil, the current toggling is left intact. If ONE is non-nil, marks are ignored and a single FI is returned. If FILE is non-nil, directory entries won't be selected. (defalias 'cvs-mode-marked #[(filter &optional cmd &rest #1=#:--rest--97372) "\306>A@\307>A@\310>A@\311>A@ \203D @\312>\203- AA\211\202\313>A@\203;\314\211\202\315\316 @\"\210\202)!\204P\317\"!!\320\n\206Z\321! \" ?\205d\322\323\"\"\"#\324\325!$\326\327#\"@\211#\203\202\n\203\245#A\203\245\f\204\245\330#\204\220\331\202\221\332!\"\210\333\334!\210\335\336\337\340!\"!!C#\n\203\257#@\202\261#.\207" [#1# read-only one file noquery #2=#:--keys--97373 :read-only :one :file :noquery (:read-only :one :file :noquery :allow-other-keys) :allow-other-keys nil error "Keyword argument %s not one of (:read-only :one :file :noquery)" symbol-name cvs-get-marked cvs-ignore-marks-p cvs-applicable-p DIRCHANGE cvs-prefix-get cvs-force-command cvs-partition #[(fi) "\303 ?\205\n\"\207" [fi force filter cvs-applicable-p] 3] message "`%s' is not applicable to any of the selected files." "`%s' is only applicable to a single file." sit-for 1 cvs-insert-file read-file-name format "File to %s: " cmd filter fis force] 7 (#$ . 43003)]) #@73 Determine whether FILTER applies to at least one of the selected files. (defalias 'cvs-enabledp #[(filter) "\300\301\302\217\207" [#1=#:G97374 (byte-code "\301\302\303\304\305\304&\207" [filter cvs-mode-marked nil :read-only t :noquery] 7) ((error))] 3 (#$ . 44411)]) (defalias 'cvs-mode-files #[(&rest -cvs-mode-files-args) "\300\301!\207" [cvs-mode! #[nil "\301\302\303\304\"\"\207" [-cvs-mode-files-args mapcar cvs-fileinfo->full-path apply cvs-mode-marked] 5]] 2]) #@35 Run `cvs-mode-commit' with setup. (defalias 'cvs-mode-commit-setup #[nil "\300\301!\207" [cvs-mode-commit force] 2 (#$ . 44889) nil]) #@300 Check in all marked files, or the current file. The user will be asked for a log message in a buffer. The buffer's mode and name is determined by the "message" setting of `cvs-buffer-name-alist'. The POSTPROC specified there (typically `log-edit') is then called, passing it the SETUP argument. (defalias 'cvs-mode-commit #[(setup) "\306 \210\307\310\311\312#\313\314\310 \"A8\206\315\n\316 \317\f$\210\320\321!\322L\210\320\300! L+\207" [list-buffers-directory cvs-buffer-name-alist setupfun lbd buf setup cvs-mode! cvs-temp-buffer "message" normal nosetup 2 assoc log-edit cvs-do-commit cvs-commit-filelist make-local-variable cvs-minor-wrap-function cvs-commit-minor-wrap] 6 (#$ . 45030) "P"]) (defalias 'cvs-commit-minor-wrap #[(buf f) "\302\303! )\207" [cvs-ignore-marks-modif f cvs-mode-mark-get-modif "commit"] 2]) (defalias 'cvs-commit-filelist #[nil "\300\301\302\303\304\305\304\306\304&\207" [cvs-mode-files commit nil :read-only t :file :noquery] 9]) #@68 Do the actual commit, using the current buffer as the log message. (defalias 'cvs-do-commit #[(flags) "\302ed\"\303 \210\304\305\306 BB\307#)\207" [msg flags buffer-substring-no-properties cvs-mode! cvs-mode-do "commit" "-m" commit] 5 (#$ . 46012) (list (cvs-flags-query 'cvs-commit-flags "cvs commit flags"))]) #@38 Insert an entry for a specific file. (defalias 'cvs-mode-insert #[nil "\300\301!\207" [cvs-mode! #[(file) "\301!\207" [file cvs-insert-file] 2 nil (list (read-file-name "File to insert: " (condition-case nil (file-name-as-directory (expand-file-name (cvs-fileinfo->dir (cvs-mode-marked nil nil :read-only t :one t :noquery t)))) (error nil))))]] 2 (#$ . 46332) nil]) #@65 Insert FILE (and its contents if it's a dir) and return its FI. (defalias 'cvs-insert-file #[(file) "\305\306!!\307\310!\307\211\203\" @\311\f\n # A\211\204*\312 !b\210\313 !*\207" [file last fi #1=#:--dolist-temp--97375 cvs-cookies file-relative-name directory-file-name nil cvs-fileinfo-from-entries cvs-addto-collection ewoc-location ewoc-data] 5 (#$ . 46706)]) (defalias 'cvs-mark-fis-dead #[(fis) "\304\211\203$\n@\211\305H >\204\306\307 \"\210 \310\311I\210\nA\211\204*\304\207" [fis fi #1=#:--dolist-temp--97376 cl-struct-cvs-fileinfo-tags nil 0 error "cvs-fileinfo->type storing a non-cvs-fileinfo" 2 DEAD] 4]) #@85 Add marked files to the cvs repository. With prefix argument, prompt for cvs flags. (defalias 'cvs-mode-add #[(flags) "\300\301!\207" [cvs-mode! #[nil "\306\307!\310\211\211\310\211\203@\f@\311\312 !!\203\" B\2029 \313H >\204/\314\315 \"\210 \316H\317=\2039\320\fA\211\204* \203U\204O\204U\321\322!\202[\206[\323\324 BB \205y\325\326\327D\330BBB\331\327DDD!\332\333 \n\334!%.\207" [dirs needdesc fis fi #1=#:--dolist-temp--97379 cl-struct-cvs-fileinfo-tags cvs-mode-marked add nil file-directory-p cvs-fileinfo->full-path 0 error "cvs-fileinfo->type accessing a non-cvs-fileinfo" 2 UNKNOWN t read-from-minibuffer "Enter description: " "" "-m" cvs-run-process (list "-n" "update") quote ('(cvs-parse-process t)) cvs-mark-fis-dead cvs-mode-run "add" :postproc current-prefix-arg cvs-add-default-message msg flags postproc] 7]] 2 (#$ . 47353) (list (cvs-flags-query 'cvs-add-flags "cvs add flags"))]) #@248 Diff the selected files against the repository. This command compares the files in your working area against the revision which they are based upon. This function only works within a *cvs* buffer. For interactive use, use `cvs-mode-diff' instead. (defalias 'cvs-mode-diff-1 #[(flags) "\301\302\303\304\305%\207" [flags cvs-mode-do "diff" diff :show t] 6 (#$ . 48300) (list (cvs-add-branch-prefix (cvs-add-secondary-branch-prefix (cvs-flags-query 'cvs-diff-flags "cvs diff flags"))))]) #@151 Diff the selected files against the repository. Wrapper function that switches to a *cvs* buffer before calling the real function `cvs-mode-diff-1'.  (defalias 'cvs-mode-diff #[nil "\300\301!\207" [cvs-mode! cvs-mode-diff-1] 2 (#$ . 48793) nil]) #@102 Diff the selected files against the head of the current branch. See ``cvs-mode-diff'' for more info. (defalias 'cvs-mode-diff-head #[(flags) "\300\301!\207" [cvs-mode! #[nil "\301\302B!\207" [flags cvs-mode-diff-1 "-rHEAD"] 3]] 2 (#$ . 49046) (list (cvs-flags-query 'cvs-diff-flags "cvs diff flags"))]) #@101 Diff the selected files against the head of the vendor branch. See ``cvs-mode-diff'' for more info. (defalias 'cvs-mode-diff-vendor #[(flags) "\300\301!\207" [cvs-mode! #[nil "\302\303P B!\207" [cvs-vendor-branch flags cvs-mode-diff-1 "-r"] 3]] 2 (#$ . 49357) (list (cvs-flags-query 'cvs-diff-flags "cvs diff flags"))]) #@140 Diff the files against the backup file. This command can be used on files that are marked with "Merged" or "Conflict" in the *cvs* buffer. (defalias 'cvs-mode-diff-backup #[(flags) "\300\301!\207" [cvs-mode! #[nil "<\204 \306\307!\210\310 \210\311\312\313\314!!\315\316\n\"@\211:\204#\306\317!\210 @\320H\f>\2042\306\321 @\"\210 @\322H @\320H\f>\204F\306\323 @\"\210 @\324H\325\314!q\210*\326\327!\210\330 \331$\210+\326\332!\207" [flags filter marked fis cl-struct-cvs-fileinfo-tags dir error "flags should be a list of strings" save-some-buffers diff cvs-get-marked cvs-ignore-marks-p "diff" cvs-partition cvs-fileinfo->backup-file "No files with a backup file selected!" 0 "cvs-fileinfo->dir accessing a non-cvs-fileinfo" 4 "cvs-fileinfo->file accessing a non-cvs-fileinfo" 5 cvs-temp-buffer message "cvs diff backup..." cvs-execute-single-file-list cvs-diff-backup-extractor "cvs diff backup... Done." file cvs-diff-program] 6]] 2 (#$ . 49685) (list (cvs-flags-query 'cvs-diff-flags "diff flags"))]) #@108 Return the filename and the name of the backup file as a list. Signal an error if there is no backup file. (defalias 'cvs-diff-backup-extractor #[(fileinfo) "\302!\211\204\303\304\305!\"\210 \305!)D\207" [fileinfo backup-file cvs-fileinfo->backup-file error "%s has no backup file" cvs-fileinfo->full-path] 5 (#$ . 50710)]) (defalias 'cvs-emerge-diff #[(b1 b2) "\302 #\207" [b1 b2 emerge-buffers] 4]) (defalias 'cvs-emerge-merge #[(b1 b2 base out) "\304 \n\305 !$\207" [b1 b2 base out emerge-buffers-with-ancestor find-file-noselect] 6]) (byte-code "\301B\302B\301\207" [current-load-list ediff-after-quit-destination-buffer cvs-transient-buffers] 2) (defalias 'cvs-ediff-startup-hook #[nil "\302\303\304\305\306\307D\307 DEE\305\310$\207" [ediff-after-quit-destination-buffer cvs-transient-buffers add-hook ediff-after-quit-hook-internal lambda nil cvs-ediff-exit-hook quote local] 8]) (defalias 'cvs-ediff-exit-hook #[(cvs-buf tmp-bufs) "\305\211\2037\n@\211\2030\306 !\2030\307 !\2040\310 \311\"\312 !\210\313 !\203/\314\315\316\217\210)\nA\211\204*\f\205N\306\f!\205N\310\f\311\"?\205N\317\320\321\217\207" [tmp-bufs tb #1=#:--dolist-temp--97380 win cvs-buf nil buffer-live-p buffer-modified-p get-buffer-window t kill-buffer window-live-p #2=#:G97382 (delete-window win) ((error)) #3=#:G97381 (switch-to-buffer cvs-buf) ((error))] 4]) (defalias 'cvs-ediff-diff #[(b1 b2) "p\304\305\n \306$*\207" [startup-hook ediff-after-quit-destination-buffer b1 b2 (cvs-ediff-startup-hook) ediff-buffers ediff-revision] 5]) (defalias 'cvs-ediff-merge #[(b1 b2 base out) "p\306\307\n \f\310 &*\207" [startup-hook ediff-after-quit-destination-buffer b1 b2 base out (cvs-ediff-startup-hook) ediff-merge-buffers-with-ancestor ediff-merge-revisions-with-ancestor] 7]) #@72 Retrieve the given REVision of the file in FILEINFO into a new buffer. (defalias 'cvs-retrieve-revision #[(fileinfo rev) "\306!\211\307\nQ\310 !\206Pr\311 !q\210\312\313\n\"\210\314\f\315\316\315\317\320\321\322\n &\n\211\2038 \323\232\2048\324\325\n #\210\326\315!\210\327 !\330 \210)\331\332!\210\312\333\n\"\210p**\207" [fileinfo file rev buffile cvs-program res cvs-fileinfo->full-path "." find-buffer-visiting create-file-buffer message "Retrieving revision %s..." call-process nil t "-q" "update" "-p" "-r" 0 error "Something went wrong retrieving revision %s: %s" set-buffer-modified-p expand-file-name after-find-file toggle-read-only 1 "Retrieving revision %s... Done" buffer-file-name] 12 (#$ . 52508)]) (autoload 'smerge-ediff "smerge-mode") #@65 Merge interactively appropriate revisions of the selected file. (defalias 'cvs-mode-imerge #[nil "\300\301!\207" [cvs-mode! #[nil "\306\304\307\310\311\312\311&\211\313H >\204\314\315\"\210\316H\317!\320!\211\203+\n\204=\321 !\322\323!\210r q\210\324 *\202w\325\f@\"\325\fA\"\307\321\n!)Erq\210\326 !\327 \210*A $,,\207" [fi cl-struct-cvs-fileinfo-tags backup-file file merge buf cvs-mode-marked nil :one t :file 0 error "cvs-fileinfo->merge accessing a non-cvs-fileinfo" 8 cvs-fileinfo->full-path cvs-fileinfo->backup-file find-file-noselect message "Missing merge info or backup file, using VC." smerge-ediff cvs-retrieve-revision expand-file-name after-find-file ancestor-buf head-buf auto-mode-alist backup-buf cvs-transient-buffers buffer-file-name cvs-idiff-imerge-handlers] 8]] 2 (#$ . 53276) nil]) (byte-code "\302B\306\302\307\310#\210\311\302!\211\203+\312\n!\203+\nG\313Y\203+\n\314H >\203+\n\202I\315\f\211\315\211\257\316\317 \203@\n AB\202A \310\320\310&))\310\207" [current-load-list bound cvs-idiff-version cl-struct-cvs-flags-tags cvs-vendor-branch defaults put variable-documentation nil boundp vectorp 6 0 "BASE" vector cl-struct-cvs-flags "version: " cvs-qtypedesc-tag] 8) #@47 Diff interactively current file to revisions. (defalias 'cvs-mode-idiff #[nil "\300\301!\207" [cvs-mode! #[(&optional rev1 rev2) "\306\307\310\311\312\313\312&\314!\315\n\206\316\"\f\205\315\f\" D@ \2060\317 !\"-\207" [fi file rev1 rev1-buf rev2 rev2-buf cvs-mode-marked diff "idiff" :one t :file cvs-fileinfo->full-path cvs-retrieve-revision "BASE" find-file-noselect cvs-transient-buffers cvs-idiff-imerge-handlers] 7 nil (let* ((rev1 (cvs-prefix-get 'cvs-branch-prefix)) (rev2 (and rev1 (cvs-prefix-get 'cvs-secondary-branch-prefix)))) (list (or rev1 (cvs-flags-query 'cvs-idiff-version)) rev2))]] 2 (#$ . 54536) nil]) #@47 Diff interactively current file to revisions. (defalias 'cvs-mode-idiff-other #[nil "\300\301!\207" [cvs-mode! #[nil "\306\307!\211\205 \306\310!\311\312\313\314\315$\211G\316V\203\317\320!\210\n@\203,\321 \"\2021\322\323 !!\324\nA\203U\nA@ \203J\321 \"\202P\322\323!!)\202Y\317\325!\210\f D@\f \".\207" [rev1 rev2 fis fi1 rev1-buf rev2-buf cvs-prefix-get cvs-branch-prefix cvs-secondary-branch-prefix cvs-mode-marked diff "idiff" :file t 2 error "idiff-other cannot be applied to more than 2 files at a time" cvs-retrieve-revision find-file-noselect cvs-fileinfo->full-path nil "idiff-other doesn't know what other file/buffer to use" fi2 cvs-transient-buffers cvs-idiff-imerge-handlers] 6]] 2 (#$ . 55183) nil]) #@67 Mark a fileinfo xor its members (in case of a directory) as dead. (defalias 'cvs-fileinfo-kill #[(c fi) "\304H >\204 \305\306\"\210\307H\310=\203O\311\n\312\304H >\204%\305\313\"\210\314H#\315\211\203L @\211\304H >\204@\305\316\"\210\307\317I\210 A\211\2040*\315\207\304H >\204\\\305\316\"\210\307\317I\207" [fi cl-struct-cvs-fileinfo-tags c #1=#:--dolist-temp--97383 0 error "cvs-fileinfo->type accessing a non-cvs-fileinfo" 2 DIRCHANGE ewoc-collect cvs-dir-member-p "cvs-fileinfo->dir accessing a non-cvs-fileinfo" 4 nil "cvs-fileinfo->type storing a non-cvs-fileinfo" DEAD] 7 (#$ . 55932)]) #@50 Non-nil is buffer is inside one of FIS (in DIR). (defalias 'cvs-is-within-p #[(fis dir) ";\2058\306!\307\n\206\310\311\312\313\312$C\307\211\2035\f@\314\306\315 ! \"\"\203.\316\fA\211\204* )\207" [buffer-file-name ret fis fi #1=#:--dolist-temp--97388 dir expand-file-name nil cvs-create-fileinfo DIRCHANGE "" "." cvs-string-prefix-p cvs-fileinfo->full-path t] 6 (#$ . 56554)]) #@393 Generic cvs-mode- function. Executes `cvs CVSARGS CMD FLAGS FIS'. BUF is the buffer to be used for cvs' output. DONT-CHANGE-DISC non-nil indicates that the command will not change the contents of files. This is only used by the parser. POSTPROC is a list of expressions to be evaluated at the very end (after parsing if applicable). It will be prepended with `progn' is necessary. (defalias 'cvs-mode-run #[(cmd flags fis &rest #1=#:--rest--97389) "\306>\206\n\307\310 DA@\311>A@\312>A@\313>A@ \203K @\314>\2034 AA\211\202\"\315>A@\203B\307\211\202\"\316\317 @\"\210\202!)+,\320\307\321\"\210)-<\204`\316\322!\210p./ function. Executes `cvs CVSARGS CMD FLAGS' on the selected files. FILTER is passed to `cvs-applicable-p' to only apply the command to files for which it makes sense. SHOW indicates that CMD should be not be run in the default temp buffer and should be shown to the user. The buffer and mode to be used is determined by `cvs-buffer-name-alist'. DONT-CHANGE-DISC non-nil indicates that the command will not change the contents of files. This is only used by the parser. (defalias 'cvs-mode-do #[(cmd flags filter &rest #1=#:--rest--97391) "\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\323 \205e!\307\n\311\f\312 & -\207" [#1# show dont-change-disc parse cvsargs postproc :show :dont-change-disc :parse :cvsargs :postproc (:show :dont-change-disc :parse :cvsargs :postproc :allow-other-keys) :allow-other-keys nil error "Keyword argument %s not one of (:show :dont-change-disc :parse :cvsargs :postproc)" cvs-mode-run cvs-mode-marked :buf cvs-temp-buffer #2=#:--keys--97392 cmd flags filter] 13 (#$ . 58821)]) #@83 Show cvs status for all marked files. With prefix argument, prompt for cvs flags. (defalias 'cvs-mode-status #[(flags) "\300\301!\207" [cvs-mode! #[nil "\302\303\304\305\306\307\306\310 \311=\205\312& \207" [flags cvs-auto-remove-handled cvs-mode-do "status" nil :dont-change-disc t :show :postproc status ((with-current-buffer \, (current-buffer) (cvs-mode-remove-handled)))] 11]] 2 (#$ . 59988) (list (cvs-flags-query 'cvs-status-flags "cvs status flags"))]) #@59 Call cvstree using the file under the point as a keyfile. (defalias 'cvs-mode-tree #[(flags) "\300\301!\207" [cvs-mode! #[nil "\301\302\303B\304\305\302\"\306\307\310!\311\312\313\314& \207" [flags cvs-mode-run "status" "-v" cvs-mode-marked nil :buf cvs-temp-buffer "tree" :dont-change-disc t :postproc ((cvs-status-cvstrees))] 10]] 2 (#$ . 60458) (list (cvs-flags-query 'cvs-status-flags "cvs status flags"))]) #@88 Display the cvs log of all selected files. With prefix argument, prompt for cvs flags. (defalias 'cvs-mode-log #[nil "\300\301!\207" [cvs-mode! #[(flags) "\301\302\303\304\305%\207" [flags cvs-mode-do "log" nil :show t] 6 nil (list (cvs-add-branch-prefix (cvs-flags-query 'cvs-log-flags "cvs log flags")))]] 2 (#$ . 60877) nil]) #@72 Update all marked files. With a prefix argument, prompt for cvs flags. (defalias 'cvs-mode-update #[nil "\300\301!\207" [cvs-mode! #[(flags) "\301\302\303#\207" [flags cvs-mode-do "update" update] 4 nil (list (cvs-add-branch-prefix (cvs-add-secondary-branch-prefix (cvs-flags-query 'cvs-update-flags "cvs update flags") "-j") "-j"))]] 2 (#$ . 61213) nil]) #@76 Re-examine all marked files. With a prefix argument, prompt for cvs flags. (defalias 'cvs-mode-examine #[nil "\300\301!\207" [cvs-mode! #[(flags) "\301\302\303\304\305\306\307&\207" [flags cvs-mode-do "update" nil :cvsargs ("-n") :dont-change-disc t] 8 nil (list (cvs-add-branch-prefix (cvs-add-secondary-branch-prefix (cvs-flags-query 'cvs-update-flags "cvs -n update flags") "-j") "-j"))]] 2 (#$ . 61576) nil]) #@111 Arrange so that CVS ignores the selected files. This command ignores files that are not flagged as `Unknown'. (defalias 'cvs-mode-ignore #[(&optional pattern) "\300\301!\207" [cvs-mode! #[nil "\304\305!\306\211\203I @\307\310H\n>\204\311\312\"\210\313H\310H\n>\204+\311\314\"\210\315H\"\210\310H\n>\204=\311\316\"\210\317\320I\210 A\211\204\n*\321 \306\211\211$\207" [fi #1=#:--dolist-temp--97393 cl-struct-cvs-fileinfo-tags cvs-cookies cvs-mode-marked ignore nil cvs-append-to-ignore 0 error "cvs-fileinfo->dir accessing a non-cvs-fileinfo" 4 "cvs-fileinfo->file accessing a non-cvs-fileinfo" 5 "cvs-fileinfo->type storing a non-cvs-fileinfo" 2 DEAD cvs-cleanup-collection] 6]] 2 (#$ . 61998) nil]) #@40 Add STR to the .cvsignore file in DIR. (defalias 'cvs-append-to-ignore #[(dir str) "\300\213\207" [((byte-code "\303\304\305\"!q\210\306\307\310\217\203\311 \210db\210\312i!\204\313c\210 \313\261\210\n\203-\314\315ed#\210\316 \207" [dir str cvs-sort-ignore-file find-file-noselect expand-file-name ".cvsignore" #1=#:G97396 (byte-code "\205\302 !\303=\205\304 !?\207" [buffer-read-only buffer-file-name vc-backend CVS vc-editable-p] 2) ((error)) vc-toggle-read-only zerop "\n" sort-lines nil save-buffer] 4))] 1 (#$ . 62723)]) #@56 Select a buffer containing the file in another window. (defalias 'cvs-mode-find-file-other-window #[(e) "\301\302\"\207" [e cvs-mode-find-file t] 3 (#$ . 63267) (list last-input-event)]) #@54 Show a buffer containing the file in another window. (defalias 'cvs-mode-display-file #[(e) "\301\302\"\207" [e cvs-mode-find-file dont-select] 3 (#$ . 63461) (list last-input-event)]) (defalias 'cvs-find-modif #[(fi) "\304\305\306!!\307\216rq\210\310 \311p\311\312\313\n\314H >\204 \315\316\n\"\210\n\317H&\210eb\210\320\321\311\322#\2039\323\324\325!!\202:\325+\207" [#1=#:temp-buffer cvs-program fi cl-struct-cvs-fileinfo-tags get-buffer-create generate-new-buffer-name " *temp*" ((byte-code "\301!\203\n\302!\210\301\207" [#1# buffer-name kill-buffer] 2)) call-process nil "-f" "diff" 0 error "cvs-fileinfo->file accessing a non-cvs-fileinfo" 5 re-search-forward "^\\([0-9]+\\)" t string-to-number match-string 1] 10]) #@90 Select a buffer containing the file. With a prefix, opens the buffer in an OTHER window. (defalias 'cvs-mode-find-file #[(e &optional other) "\300\301\302\217\203\303`\304\"\305>\204\306\307!\210\310\311!\207" [#1=#:G97397 (byte-code "\301!\210\302\207" [e mouse-set-point t] 2) ((error)) get-text-property face (cvs-header-face cvs-filename-face) error "Not a file name" cvs-mode! #[(&optional rev) "p\306\307\211\310\311$\211\312H\n>\204\313\314 \"\210 \315H\316=\203b  \312H\n>\204-\313\317 \"\210 \320H\321\322 !!) \323=\203H\324\325 !!\210\202X \203T\326 !\210\202X\327 !\210q\210\f\211)\202\244!\203o\330 !\"\202t\325\331 !!\" \323=\203\201\324\202\213 \203\212\332\202\213\333\"!\210#\203\241\334 \335\"\203\241\336\337 !!\210\")*\207" [cvs-buf fi cl-struct-cvs-fileinfo-tags default-directory odir d cvs-mode-marked nil :one t 0 error "cvs-fileinfo->type accessing a non-cvs-fileinfo" 2 DIRCHANGE "cvs-fileinfo->dir accessing a non-cvs-fileinfo" 4 file-name-as-directory expand-file-name dont-select display-buffer find-file-noselect dired-other-window dired cvs-retrieve-revision cvs-fileinfo->full-path switch-to-buffer-other-window switch-to-buffer cvs-applicable-p diff-base goto-line cvs-find-modif other rev buf cvs-find-file-and-jump] 6 nil (list (cvs-prefix-get 'cvs-branch-prefix))]] 3 (#$ . 64200) (list last-input-event current-prefix-arg)]) #@91 Undo local changes to all marked files. The file is removed and `cvs update FILE' is run. (defalias 'cvs-mode-undo #[(flags) "\300\301!\207" [cvs-mode! #[nil "\203\306\307!\207\310\311\312\313#\314\315\n \"\211@ A\211\204+\f\205A\316\317\320\f#\202A\316\312 \321\f\205@\322p\316\317\320\323\fDFEC%-\207" [current-prefix-arg fis removedp fis-split fis-removed fis-other call-interactively cvs-mode-revert-to-rev cvs-do-removal undo "update" all #[(fi) "\302H >\204 \303\304\"\210\305H\306=\207" [fi cl-struct-cvs-fileinfo-tags 0 error "cvs-fileinfo->type accessing a non-cvs-fileinfo" 2 REMOVED] 3] cvs-partition cvs-mode-run "add" nil :postproc with-current-buffer quote flags] 13]] 2 (#$ . 65606) (list nil)]) #@47 Revert the selected files to an old revision. (defalias 'cvs-mode-revert-to-rev #[nil "\300\301!\207" [cvs-mode! #[(rev) "\305\306\307\310\311$\312\313\314!P\315p\316\317\320\321\322 DE\322DFEC\315p\316\323\320\324\322 D\324\322 D\257\322D\325\322\nD\257EC\316\317 C\325\f%,\207" [fis tag untag rev update cvs-mode-marked revert "revert" :file t "tmp_pcl_tag_" make-temp-name "" with-current-buffer cvs-mode-run "tag" list "-d" quote "update" "-j" :postproc] 10 nil (list (or (cvs-prefix-get 'cvs-branch-prefix) (let ((current-prefix-arg '(4))) (cvs-flags-query 'cvs-idiff-version))))]] 2 (#$ . 66341) nil]) #@174 Delete the lock file that CVS is waiting for. Note that this can be dangerous. You should only do this if you are convinced that the process that created the lock is dead. (defalias 'cvs-mode-delete-lock #[nil "\300\301!\207" [cvs-mode! #[nil "\306\307 !!)\310\n\311 #\211\204\312\313!\202Q\314\315\316Q!\205Q\f\311\211\203O@\317 !\203<\320 !\210\202F\321 !\203F\322 !\210A\211\204+*\311*\207" [cvs-lock-file d default-directory cvs-lock-file-regexp locks lock file-name-as-directory expand-file-name directory-files nil error "No lock files found" yes-or-no-p "Really delete locks in " "? " file-directory-p delete-directory file-exists-p delete-file #1=#:--dolist-temp--97398] 5]] 2 (#$ . 66965) nil]) #@67 Remove all lines that are handled. Empty directories are removed. (defalias 'cvs-mode-remove-handled #[nil "\300\301!\207" [cvs-mode! #[nil "\302\303 \206\304\303$\207" [cvs-cookies cvs-auto-remove-directories cvs-cleanup-collection t handled] 5]] 2 (#$ . 67700) nil]) #@42 Remove all marked files from the buffer. (defalias 'cvs-mode-acknowledge #[nil "\300\301!\207" [cvs-mode! #[nil "\304\305\306!\307\"\310\211\203) @\211\311H\n>\204\312\313\"\210\314\315I\210 A\211\204 *\316 \310\211\211$\207" [fi #1=#:--dolist-temp--97399 cl-struct-cvs-fileinfo-tags cvs-cookies cvs-get-marked cvs-ignore-marks-p "acknowledge" t nil 0 error "cvs-fileinfo->type storing a non-cvs-fileinfo" 2 DEAD cvs-cleanup-collection] 5]] 2 (#$ . 67978) nil]) #@67 Remove files. Returns a list of FIS that should be `cvs remove'd. (defalias 'cvs-do-removal #[(filter &optional cmd all) "\306 \307\310\311\310&\312\313\306 \"\"A\f?\2066\314\n$ :\2033$ \211A@!\204\310\211\202 *?%\315 &%\204[\f\316\232\203[r&q\210\317\320\321 \"!\210\322p!\210\323 \210)%\204u\324\216\325\326\327\nG\"!)\204u\330\331!\210\332\202\336\n\332'\211(\203\334(@\211'\333H)>\204\223\334\335'\"\210'\336H*\321'!+,\204\253*\337=\203\322\340+!\203\267\341+!\210,\204\322'\333H)>\204\314\334\342'\"\210'\336\343I\210*(A\211(\204* ,\207" [filter cmd files fis cvs-confirm-removals -cvs-every-l cvs-mode-marked :file t :read-only cvs-partition #[(fi) "\302H >\204 \303\304\"\210\305H\306=\207" [fi cl-struct-cvs-fileinfo-tags 0 error "cvs-fileinfo->type accessing a non-cvs-fileinfo" 2 UNKNOWN] 3] #[(fi) "\301\302!!?\206 \303\304\"\207" [fi file-exists-p cvs-fileinfo->full-path cvs-applicable-p safe-rm] 3] cvs-temp-buffer list cvs-insert-strings mapcar cvs-fileinfo->full-path cvs-pop-to-buffer-same-frame shrink-window-if-larger-than-buffer ((cvs-bury-buffer tmpbuf cvs-buffer)) yes-or-no-p format "Delete %d files? " message "Aborting" nil 0 error "cvs-fileinfo->type accessing a non-cvs-fileinfo" 2 UNKNOWN file-exists-p delete-file "cvs-fileinfo->type storing a non-cvs-fileinfo" DEAD -cvs-every-f silent tmpbuf fi #1=#:--dolist-temp--97402 cl-struct-cvs-fileinfo-tags type file all] 7 (#$ . 68456)]) #@70 Remove all marked files. With prefix argument, prompt for cvs flags. (defalias 'cvs-mode-remove #[(flags) "\300\301!\207" [cvs-mode! #[nil "\303\304!\211\203\305\306\307 B#\202\310\n\311\211\211$)\207" [fis flags cvs-cookies cvs-do-removal remove cvs-mode-run "remove" "-f" cvs-cleanup-collection nil] 6]] 2 (#$ . 69937) (list (cvs-flags-query 'cvs-remove-flags "cvs remove flags"))]) (byte-code "\301B\302\301!\204\f\303\301\207" [current-load-list cvs-tag-name boundp ""] 2) #@86 Run `cvs tag TAG' on all selected files. With prefix argument, prompt for cvs flags. (defalias 'cvs-mode-tag #[(tag &optional flags) "\300\301!\207" [cvs-mode! #[nil "\303\304\305 C\"\n\205\f\301#\207" [flags tag cvs-force-dir-tag cvs-mode-do "tag" append] 5]] 2 (#$ . 70430) (list (setq cvs-tag-name (cvs-query-read cvs-tag-name "Tag name: " cvs-qtypedesc-tag)) (cvs-flags-query 'cvs-tag-flags "tag flags"))]) #@89 Run `cvs tag -d TAG' on all selected files. With prefix argument, prompt for cvs flags. (defalias 'cvs-mode-untag #[(tag &optional flags) "\300\301!\207" [cvs-mode! #[nil "\303\304\305\306 C#\n\205 \301#\207" [flags tag cvs-force-dir-tag cvs-mode-do "tag" append ("-d")] 6]] 2 (#$ . 70849) (list (setq cvs-tag-name (cvs-query-read cvs-tag-name "Tag to delete: " cvs-qtypedesc-tag)) (cvs-flags-query 'cvs-tag-flags "tag flags"))]) #@64 Run byte-compile-file on all selected files that end in '.el'. (defalias 'cvs-mode-byte-compile-files #[nil "\300\301!\207" [cvs-mode! #[nil "\304\305\306!!\211\307\211\203(\n@\310 !\311\312 \"\203 \313 !\210)\nA\211\204+\307\207" [marked fi #1=#:--dolist-temp--97405 filename cvs-get-marked cvs-ignore-marks-p "byte-compile" nil cvs-fileinfo->full-path string-match "\\.el\\'" byte-compile-file] 5]] 2 (#$ . 71287) nil]) #@66 Add a ChangeLog entry in the ChangeLog of the current directory. (defalias 'cvs-mode-add-change-log-entry-other-window #[nil "\300\301!\207" [cvs-mode! #[nil "\305\306\211\307\310$\211\311H >\204\312\313\"\210\314H\315\316\n!!)\316\311H >\204-\312\317\"\210\320H!\321\322!\210\323 +\207" [fi cl-struct-cvs-fileinfo-tags d default-directory buffer-file-name cvs-mode-marked nil :one t 0 error "cvs-fileinfo->dir accessing a non-cvs-fileinfo" 4 file-name-as-directory expand-file-name "cvs-fileinfo->file accessing a non-cvs-fileinfo" 5 kill-local-variable change-log-default-name add-change-log-entry-other-window] 6]] 2 (#$ . 71725) nil]) #@40 Ask for new setting of cvs-FLAG-flags. (defalias 'cvs-mode-set-flags #[(flag) "\303\304\305Q!\306\307 \310P\"*\207" [flag sym current-prefix-arg intern "cvs-" "-flags" (16) cvs-flags-query " flags"] 4 (#$ . 72382) (list (completing-read "Which flag: " (mapcar 'list '("cvs" "diff" "update" "status" "log" "tag" "commit" "remove" "undo" "checkout")) nil t))]) #@61 Return true if FILEINFO represents a file in directory DIR. (defalias 'cvs-dir-member-p #[(fileinfo dir) "\303H >\204 \304\305\"\210\306H\307=?\205)\310\n\303H >\204%\304\311\"\210\312H\"\207" [fileinfo cl-struct-cvs-fileinfo-tags dir 0 error "cvs-fileinfo->type accessing a non-cvs-fileinfo" 2 DIRCHANGE cvs-string-prefix-p "cvs-fileinfo->dir accessing a non-cvs-fileinfo" 4] 5 (#$ . 72751)]) #@55 Internal function for `cvs-execute-single-file-list'. (defalias 'cvs-execute-single-file #[(fi extractor program constant-args) " !\306\n<\205(\307\f\n\"\310\311\312 !#c\210\313\314\315\306\211 &\210db)*\207" [extractor fi arg-list inhibit-read-only constant-args args t append format "=== %s %s\n\n" cvs-strings->string apply call-process nil program] 7 (#$ . 73160)]) #@400 Run PROGRAM on all elements on FIS. CONSTANT-ARGS is a list of strings to pass as arguments to PROGRAM. The arguments given to the program will be CONSTANT-ARGS followed by the list that EXTRACTOR returns. EXTRACTOR will be called once for each file on FIS. It is given one argument, the cvs-fileinfo. It can return t, which means ignore this file, or a list of arguments to send to the program. (defalias 'cvs-execute-single-file-list #[(fis extractor program constant-args) "\306\211\203\n@\307 \f $\210\nA\211\204*\306\207" [fis fi #1=#:--dolist-temp--97406 extractor program constant-args nil cvs-execute-single-file] 6 (#$ . 73547)]) (defalias 'cvs-revert-if-needed #[(fis) "\306\211\203D\n@\307 !\310 !\211\203< \311H >\204$\312\313 \"\210 \314H\315=\204<\316\f!\204<r\fq\210\317\320\321\217\210)*\nA\211\204*\306\207" [fis fileinfo #1=#:--dolist-temp--97407 file buffer cl-struct-cvs-fileinfo-tags nil cvs-fileinfo->full-path find-buffer-visiting 0 error "cvs-fileinfo->type accessing a non-cvs-fileinfo" 2 MESSAGE buffer-modified-p #2=#:G97408 (byte-code "\302\303\304\305#\210\306 \210\307H >\204\310\311\"\210\312H\313=\203\"\314\315!\210\302\207" [fileinfo cl-struct-cvs-fileinfo-tags revert-buffer ignore-auto dont-ask preserve-modes vc-find-file-hook 0 error "cvs-fileinfo->type accessing a non-cvs-fileinfo" 2 CONFLICT smerge-mode 1] 4) ((error))] 4]) #@21 Change the cvsroot. (defalias 'cvs-change-cvsroot #[(newroot) "\302\303\304\"!\204\305\306!\205\211\207" [newroot cvs-cvsroot file-directory-p expand-file-name "CVSROOT" y-or-n-p "Warning: no CVSROOT found inside repository. Change cvs-cvsroot anyhow?"] 4 (#$ . 74952) "DNew repository: "]) (add-to-list 'completion-ignored-extensions "CVS/") #@126 The action to be performed when opening a CVS directory. Sensible values are `cvs-examine', `cvs-status' and `cvs-quickdir'. (custom-declare-variable 'cvs-dired-action ''cvs-quickdir '(#$ . 75309) :group 'pcl-cvs :type '(choice (const cvs-examine) (const cvs-status) (const cvs-quickdir))) #@283 Whether or not opening a CVS directory should run PCL-CVS. NIL means never do it. ALWAYS means to always do it unless a prefix argument is given to the command that prompted the opening of the directory. Anything else means to do it only if the prefix arg is equal to this value. (custom-declare-variable 'cvs-dired-use-hook ''(4) '(#$ . 75606) :group 'pcl-cvs :type '(choice (const :tag "Never" nil) (const :tag "Always" always) (const :tag "Prefix" (4)))) #@124 Run `cvs-examine' if DIR is a CVS administrative directory. The exact behavior is determined also by `cvs-dired-use-hook'. (defalias 'cvs-dired-noselect #[(dir) ";\2058\304!\305!\306\230\2058\307\310\311\"!\2058 \2058 \312=\203)\n?\202,\n \232\2058\212 \313!\314\211#)\207" [dir cvs-dired-use-hook current-prefix-arg cvs-dired-action directory-file-name file-name-nondirectory "CVS" file-readable-p expand-file-name "Entries" always file-name-directory t] 4 (#$ . 76073)]) (add-hook 'vc-post-command-functions 'cvs-vc-command-advice) (defalias 'cvs-vc-command-advice #[(command file flags) "\306\232\205[ @\n\235\205[\212p \307\310 \311\211\203X@\211q\210\312=\203O\313 \"\203O G\311Oq\210\314\315!L\210\316\311\"\210)A\211\204 .\311\207" [command flags cvs-parse-known-commands default-directory cvs-from-vc dir "cvs" t buffer-list nil cvs-mode cvs-string-prefix-p make-local-variable cvs-buffer cvs-parse-process buffer cvs-buf #1=#:--dolist-temp--97409 major-mode subdir] 4]) (defalias 'cvs-mark-buffer-changed #[nil "\306!\307\310!\205\310 !\311=\205\312 !\211\205j\212\313 \314\211\203h\f@\211q\210 \315=\203a\316 \"\203a G\314O\317\n\320\230\203J\321\202K\322\323 !\206R\324\325 !\326$\327\"\210*\fA\211\204$+\314*\207" [buffer-file-name file version cvs-buf #1=#:--dolist-temp--97410 major-mode expand-file-name fboundp vc-backend CVS vc-workfile-version buffer-list nil cvs-mode cvs-string-prefix-p cvs-create-fileinfo "0" ADDED MODIFIED file-name-directory "" file-name-nondirectory "cvs-mark-buffer-changed" cvs-addto-collection default-directory fi cvs-cookies] 7]) (byte-code "\300\301\302\"\210\303\304!\207" [add-hook after-save-hook cvs-mark-buffer-changed provide pcvs] 3)