;ELC ;;; Compiled ;;; in Emacs version 27.1 ;;; with all optimizations. ;;; This file uses dynamic docstrings, first added in Emacs 19.29. ;;; This file does not contain utf-8 non-ASCII characters, ;;; and so can be loaded in Emacs versions earlier than 23. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (defalias 'vc-arch-revision-granularity #[0 "\300\207" [repository] 1]) #@14 (fn FILES) (defalias 'vc-arch-checkout-model #[257 "\300\207" [implicit] 2 (#$ . 480)]) (byte-code "\300\301\302\303\304\305\306\307&\210\310\311\312\313\314DD\315\316\317\304\320\306\301& \210\321\322\323\302#\210\324\211\203D\211@\322N\203=\323N\204=\325\323\322N#\210A\266\202\202#\210\326\322\323\320#\210\310\323\312\313\327DD\330\316\331\306\301&\210\325\332\333\302#\207" [custom-declare-group vc-arch nil "VC Arch backend." :version "24.1" :group vc custom-declare-variable vc-arch-diff-switches funcall function #[0 "\300\207" [t] 1] "String or list of strings specifying switches for Arch diff under VC.\nIf nil, use the value of `vc-diff-switches'. If t, use no switches." :type (choice (const :tag "Unspecified" nil) (const :tag "None" t) (string :tag "Argument String") (repeat :tag "Argument List" :value ("") string)) "23.1" defvaralias vc-arch-command vc-arch-program (saved-value saved-variable-comment) put make-obsolete-variable #[0 "\300\211\203\301@!\204\211A\262\202\211@\206\302\207" [("tla" "baz") executable-find "tla"] 3] "Name of the Arch executable." string Arch vc-functions] 10) #@51 Add an `arch-tag' to the end of the current file. (defalias 'vc-arch-add-tagline #[0 "\302 \210db\210\303\304!\210\305\306w\210n\204\307c\210\202(`S\206`Sf\310=\204(\311c\210`\2058\312\313\314!\315Q\316!\"\317c\210\211\203S\320!\203S\321!\210\322y\210\323!\210\202s\3241`\325\326\306\327#0\202r\210\330\331\332 \333\306\334\"@\334\246\335 \\$c\210\336`\"\207" [buffer-file-name user-mail-address comment-normalize-vars forward-comment -1 " \n" nil "\n\n" 10 "\n" expand-file-name ".arch-ids/" file-name-nondirectory ".id" file-name-directory "arch-tag: " file-exists-p insert-file-contents 1 delete-file (file-error) call-process "uuidgen" t format "%s <%s> %s" current-time-string time-convert 1000000 buffer-size comment-region] 9 (#$ . 1619) nil]) (defconst vc-arch-tagline-re "^\\W*arch-tag:[ ]*\\(.*[^ \n]\\)") #@24 (fn FILE &rest BODY) (defalias 'vc-with-current-file-buffer '(macro . #[385 "\300\301\302DD\303\304\305\306\307B\310BBFE\207" [let (-kill-buf- nil) -file- with-current-buffer (or (find-buffer-visiting -file-) (setq -kill-buf- (generate-new-buffer " temp"))) (if -kill-buf- (insert-file-contents -file-)) unwind-protect progn ((if (buffer-live-p -kill-buf-) (kill-buffer -kill-buf-)))] 10 (#$ . 2464)])) (byte-code "\300\301\302\303#\304\301\305\306#\207" [function-put vc-with-current-file-buffer lisp-indent-function 2 put edebug-form-spec t] 5) #@99 Can return nil, `maybe' or a non-nil value. Only the value `maybe' can be trusted :-(. (fn FILE) (defalias 'vc-arch-file-source-p #[257 "\301\302\303!\"?\205\234\301\304\305\306!\"\"\206\234\307\310\311\303!\312Q\313!\"!\206\234\314Cr\315!\2065\316\317!\240q\210\242\203@\320!\210\321\322\323\324\325!\326\"\327$\216\212db\210\330`\331Z\332#\206eeb\210\333`\331\\\332#+\266\202\206\234r\334\310\335\306!\"!q\210\332\212eb\210\333\336\314\332#\203\207\327\225\262\333\337\314\332#\203\223\327\225\262)\211\205\231\340\262)\207" [vc-arch-tagline-re string-match "\\`[,+]" file-name-nondirectory "\\`{arch}/" file-relative-name vc-arch-root file-exists-p expand-file-name ".arch-ids/" ".id" file-name-directory nil find-buffer-visiting generate-new-buffer " temp" insert-file-contents make-byte-code 0 "\301\300\242!\205 \302\300\242!\207" vconcat vector [buffer-live-p kill-buffer] 2 re-search-backward 1000 t re-search-forward find-file-noselect "{arch}/=tagging-method" "^[ ]*\\(\\(tagline\\|implicit\\|names\\)\\|explicit\\)" "^[ ]*untagged-source[ ]+\\(\\(source\\)\\|precious\\|backup\\|junk\\|unrecognized\\)" maybe] 9 (#$ . 3022)]) #@13 (fn FILE) (defalias 'vc-arch-file-id #[257 "\301\302\303!\304Q\305!\"\306!\2035\307\310!r\211q\210\311\312\313\314\315!\316\"\317$\216\320!\210\321\322!\210\323\312!*\262\202er\324!q\210\212db\210\325`\326Z\327#\204Veb\210\330`\326\\\327#\203\\\323\331!\202d\332\333\334!\"P*\207" [vc-arch-tagline-re expand-file-name ".arch-ids/" file-name-nondirectory ".id" file-name-directory file-exists-p generate-new-buffer " *temp*" make-byte-code 0 "\301\300!\205 \302\300!\207" vconcat vector [buffer-name kill-buffer] 2 insert-file-contents looking-at ".*[^ \n ]" match-string find-file-noselect re-search-backward 1000 t re-search-forward 1 "./" file-relative-name vc-arch-root] 9 (#$ . 4198)]) #@13 (fn FILE) (defalias 'vc-arch-tagging-method #[257 "r\300\301\302\303!\"!q\210\212eb\210\304\305\306\307#\203\310\311\312!!\202 \313*\207" [find-file-noselect expand-file-name "{arch}/=tagging-method" vc-arch-root re-search-forward "^[ ]*\\(tagline\\|implicit\\|names\\|explicit\\)" nil t intern match-string 1 names] 6 (#$ . 4913)]) #@66 Return the root directory of an Arch project, if any. (fn FILE) (defalias 'vc-arch-root #[257 "\300\301\"\206\302\303\"\211\205\304\301#\262\207" [vc-file-getprop arch-root vc-find-root "{arch}/=tagging-method" vc-file-setprop] 6 (#$ . 5259)]) #@57 Return the administrative directory of FILE. (fn FILE) (defalias 'vc-arch-find-admin-dir #[257 "\300\301\302!\"\207" [expand-file-name "{arch}" vc-arch-root] 5 (#$ . 5519)]) #@32 (fn FILES &optional COMMENT) (defalias 'vc-arch-register #[513 "\211\2034\211@\301!\211\302>\203,\203,r\303!q\210\304 \203%\305\306\307 \"\210\310 \210\311 \210)\210A\266\202\202\210\312\313\314\315$\207" [comment-start vc-arch-tagging-method (tagline implicit) find-file-noselect buffer-modified-p error "Save %s first" buffer-name vc-arch-add-tagline save-buffer vc-arch-command nil 0 "add"] 8 (#$ . 5701)]) #@13 (fn FILE) (defalias 'vc-arch-registered #[257 "\300!\205 \301!\207" [vc-arch-root vc-arch-file-source-p] 3 (#$ . 6131)]) #@13 (fn FILE) (defalias 'vc-arch-default-version #[257 "\300\301!\302\"\206:\301!\303\304\"\305!\2058\306\302\307\310!r\211q\210\311\312\313\314\315!\316\"\317$\216\320!\210edS{*\262#\266\202\207" [vc-file-getprop vc-arch-root arch-default-version expand-file-name "{arch}/++default-version" file-readable-p vc-file-setprop generate-new-buffer " *temp*" make-byte-code 0 "\301\300!\205 \302\300!\207" vconcat vector [buffer-name kill-buffer] 2 insert-file-contents] 13 (#$ . 6263)]) #@13 (fn FILE) (defalias 'vc-arch-state #[257 "\300!\301!\302\303\304\305#P\306\307\306\310\"\"\311\312!\205!\313\314#\211\203<\211@\2032\315\"\2035\211\262A\266\202\202!\210\211\204E\316\202\317\317!\320\321\322#\262r\323!q\210eb\210\324\311\325#\203z\212\326\224\327Zb\210n\206o\330\331!?\206v\330\332!)\204Ym\203\225\333!\303\304\305\334 !#\232\203\221\335\202\314\316\202\314\336\337\340 \314#\204\242\316\202\314\341!\211\3428\262\343\344\327!!=\203\311\345\346\3478\262\"\344\350!\232\203\311\351\202\312\316\262)\262\207" [vc-arch-root vc-arch-default-version "\\`" subst-char-in-string 47 37 expand-file-name ",,inode-sigs/" "{arch}" nil file-directory-p directory-files t file-newer-than-file-p edited vc-arch-file-id replace-regexp-in-string "[ ]" "_" find-file-noselect search-forward move 0 2 looking-at "\n?" "E_" file-name-nondirectory vc-arch-working-revision added re-search-forward " .*mtime=\\([0-9]+\\):size=\\([0-9]+\\)" line-end-position file-attributes 7 string-to-number match-string format-time-string "%s" 5 1 up-to-date] 13 (#$ . 6761)]) #@157 Run `tla inventory' for DIR and pass results to CALLBACK. CALLBACK expects (ENTRIES &optional MORE-TO-COME); see `vc-dir-refresh'. (fn DIR FILES CALLBACK) (defalias 'vc-arch-dir-status-files #[771 "\301\302\303\304\305$\210)\306\307\310\311\312\313!\314\"\315$!\207" [default-directory vc-arch-command t async nil "changes" vc-exec-after make-byte-code 0 "\301\300!\207" vconcat vector [vc-arch-after-dir-status] 2] 10 (#$ . 7880)]) #@17 (fn CALLBACK) (defalias 'vc-arch-after-dir-status #[257 "\300\301\302\303\"\304\"\305\306Q\307eb\210\310\307\304#\203.\311\312!\313\"A\311\314!\211DB\266\204\202\307\"\207" [(("M " . edited) ("Mb" . edited) ("D " . removed) ("D/" . removed) ("A " . added) ("A/" . added) ("=>" . renamed) ("/>" . renamed) ("lf" . symlink-to-file) ("fl" . file-to-symlink) ("--" . permissions-changed) ("-/" . permissions-changed)) regexp-opt mapcar car t "^" " \\(.*\\)$" nil re-search-forward match-string 1 assoc 2] 10 (#$ . 8324)]) #@13 (fn FILE) (defalias 'vc-arch-working-revision #[257 "\300\301\302!\"\303!\211\205\256\304\305\"\205\256\306\307\"\306\310\"\306\311\"\306\312\"\313\314\313\211\211\300\f\"\262\300\"\262\300\"\262\300 \"\262\300\315\"\262\316!\205U\317!\211\203\242\211@\211\314H\320=\203n\204n\321\262\314\262\304\322\"\203\233\323\306\307\"!\211\262\203\233\203\216\211\314H\320=\203\233Y\203\233\262\211\262A\266\202\202U\210 \324\206\253\325Q\266\211\207" [expand-file-name "{arch}" vc-arch-root vc-arch-default-version string-match "\\`\\(.+@[^/\n]+\\)/\\(\\(\\(.*?\\)\\(?:--.*\\)?\\)--.*\\)\\'" match-string 1 4 3 2 nil 0 "patch-log" file-directory-p directory-files 118 t "-\\([0-9]+\\)\\'" string-to-number "--" "none-000"] 18 (#$ . 8863)]) (byte-code "\300\301\302\303\304DD\305\306\307\310\311&\207" [custom-declare-variable vc-arch-mode-line-rewrite funcall function #[0 "\300\207" [(("\\`.*--\\(.*--.*\\)--\\(v?\\).*-\\([0-9]+\\)\\'" . "\\2\\3[\\1]"))] 1] "Rewrite rules to shorten Arch's revision names on the mode-line." :type (repeat (cons regexp string)) :group vc-arch] 8) #@81 Return a string for `vc-mode-line' to put in the mode line for FILE. (fn FILE) (defalias 'vc-arch-mode-line-string #[257 "\301!\211\203#\211@\302@\"\203\303A\304\305$\262A\266\202\202\210\306\307\310!\211\311\267\2027\312\2028\313\2028\314\262#\207" [vc-arch-mode-line-rewrite vc-working-revision string-match replace-match t nil format "Arch%c%s" vc-state #s(hash-table size 3 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (needs-update 47 up-to-date 47 added 51)) 45 64 58] 9 (#$ . 10001)]) #@12 (fn REJ) (defalias 'vc-arch-diff3-rej-p #[257 "\300!\211\2052\211\3018\262\302W\2052\303\304!r\211q\210\305\306\307\310\311!\312\"\313$\216\314!\210eb\210\315\316!*\262\207" [file-attributes 7 60 generate-new-buffer " *temp*" make-byte-code 0 "\301\300!\205 \302\300!\207" vconcat vector [buffer-name kill-buffer] 2 insert-file-contents looking-at "Conflicts occurred, diff3 conflict markers left in file\\."] 9 (#$ . 10539)]) #@31 For use in `after-save-hook'. (defalias 'vc-arch-delete-rej-if-obsolete #[0 "\212\301P\205,\302!\205,\303\304\305\306#?\205,\3071\"\310!0\202&\210\202'\210\311\312\313\306#\262)\207" [buffer-file-name ".rej" vc-arch-diff3-rej-p re-search-forward "^<<<<<<< " nil t (error) delete-file remove-hook after-save-hook vc-arch-delete-rej-if-obsolete] 5 (#$ . 10983)]) (defalias 'vc-arch-find-file-hook #[0 "\301P\205G\302!\205G\303!\203A\212eb\210\304\305\306\307#\204/\3101*\311!0\202=\210\306\202=\312\313!\210\314\315\316\306\307$\210\317\320!)\202G\317\321\322!\"\207" [buffer-file-name ".rej" file-exists-p vc-arch-diff3-rej-p re-search-forward "^<<<<<<< " nil t (error) delete-file smerge-mode 1 add-hook after-save-hook vc-arch-delete-rej-if-obsolete message "There are unresolved conflicts in this file" "There are unresolved conflicts in %s" file-name-nondirectory] 6]) (autoload 'vc-switches "vc") #@22 (fn FILES COMMENT) (defalias 'vc-arch-checkin #[514 "\300@\301@!\"\302\303\"\204\302\304\"\203#\305\306\"\262\307\310\225\"\262\311\312\310\313\314\315 \316\317\320\321\"&\n\207" [file-relative-name vc-arch-root string-match "\\`Summary:[ ]*\\(.*[^ \n]\\)\\([ ]*\n\\)*" "\\`[ ]*\\(.*[^ \n]\\)[ ]*\\(\n?\\'\\|\n\\([ ]*\n\\)+\\)" match-string 1 substring 0 vc-arch-command nil "commit" "-s" "-L" "--" vc-switches Arch checkin] 16 (#$ . 11915)]) #@118 Get a difference report using Arch between two versions of FILES. (fn FILES &optional OLDVERS NEWVERS BUFFER ASYNC) (defalias 'vc-arch-diff #[1281 "@\203\211\302!\303=\262\203\304!\232\203\305\262\203&\306\307!\202`\305\310!\311\2062\312\203:\313\202;\314\305\315\316\317\320\"\321! \304 !\232?\205R &\203\\\314\202]\211*\262\207" [process-file-side-effects default-directory vc-state up-to-date vc-working-revision nil error "Diffing specific revisions not implemented" vc-arch-root vc-arch-command "*vc-diff*" async 1 "file-diffs" vc-switches Arch diff file-relative-name] 16 (#$ . 12389)]) #@13 (fn FILE) (defalias 'vc-arch-delete-file #[257 "\300\301\302\303$\207" [vc-arch-command nil 0 "rm"] 6 (#$ . 13024)]) #@16 (fn OLD NEW) (defalias 'vc-arch-rename-file #[514 "\300\301\302\303\304!%\207" [vc-arch-command nil 0 "mv" file-relative-name] 9 (#$ . 13150)]) (defalias 'vc-arch-responsible-p 'vc-arch-root) #@96 A wrapper around `vc-do-command' for use in vc-arch.el. (fn BUFFER OKSTATUS FILE &rest FLAGS) (defalias 'vc-arch-command #[899 "\301\302\206\303&\207" [vc-arch-program apply vc-do-command "*vc*"] 11 (#$ . 13353)]) #@20 (fn ROOT STRING) (defalias 'vc-arch--version-completion-table #[514 "\301\302\303\304\305\306\307\310\"\203\"\311\312\225\"\313\311 \312\211\224#Q\202&\313P\314Q!)\"\"\207" [default-directory delq nil mapcar #[257 "\300\301\"\205\302\303\"\304\302\305\"Q\207" [string-match "/\\([^/]+\\)/\\([^/]+\\)\\'" match-string 2 "/" 1] 6 "\n\n(fn D)"] file-expand-wildcards "*/*/" string-match "/" substring 0 "*/" "*"] 14 (#$ . 13584)]) #@14 (fn FILES) (defalias 'vc-arch-revision-completion-table #[257 "\300\301\302\303\304!\305\"\306\307%\207" [make-byte-code 771 "\301\302\303\300@!\"\304\"\305$\207" vconcat vector [expand-file-name "{arch}" vc-arch-root vc-arch--version-completion-table complete-with-action] 10 "\n\n(fn STRING PRED ACTION)"] 7 (#$ . 14036)]) #@13 (fn REVS) (defalias 'vc-arch-trim-find-least-useful-rev #[257 "\211A\262\242C\211A\262\242C\211A\262\242C\300\301!@\206\242@\\\302\242$\203k\242\240\210\242\240\210\211A\262\n\242\240\210$W\203.\242\262$\262\202.\207" [100.0 last #[1028 "\242@\242@Z\242@Z\245\207" [] 7 "\n\n(fn FIRST SECOND THIRD MAX)"]] 13 (#$ . 14378)]) #@13 (fn REVS) (defalias 'vc-arch-trim-make-sentinel #[257 "\211\204\300\207\301\302\303\304\305!\306\"\307\310%\207" [#[514 "\300\301!\207" [message "VC-Arch trimming ... done"] 4 "\n\n(fn PROC MSG)"] make-byte-code 514 "\301\302\303\300@!\"\210\304\300@\300@\305P\"\210\306\307\310\311\312\300@\305P%\313\314\300A!\"\207" vconcat vector [message "VC-Arch trimming %s..." file-name-nondirectory rename-file "*rm*" start-process "vc-arch-trim" nil "rm" "-rf" set-process-sentinel vc-arch-trim-make-sentinel] 9 "\n\n(fn PROC MSG)"] 7 (#$ . 14771)]) #@65 Delete half of the revisions in the revision library. (fn DIR) (defalias 'vc-arch-trim-one-revlib #[257 "\300\301\302\303$\211\203\304!\305\211\"\210\210\306\307\305\310\311\300\305\211\303$\"\"\312\"\305AA\205dG\313\245\314\211W\203M\211\315!\307\"\262\211B\262\266\211T\262\202.\266\304\310\316\317\320\321\322 !\323\"\324\325%\"!\305\211\"\207" [directory-files full "\\`,," nosort vc-arch-trim-make-sentinel nil sort delq mapcar #[257 "\300\301\"\205\302\303\304\"!B\207" [string-match "-\\([0-9]+\\)\\'" string-to-number match-string 1] 5 "\n\n(fn F)"] car-less-than-car 2 0 vc-arch-trim-find-least-useful-rev make-byte-code 257 "\301A\300\"\207" vconcat vector [expand-file-name] 4 "\n\n(fn X)"] 11 (#$ . 15326) "Ddirectory: "]) #@55 Delete half of the revisions in the revision library. (defalias 'vc-arch-trim-revlib #[0 "\302\303!\304\216\305 \306\306\307%\210)rq\210\310 +\311\312\"\203=\313\314\"\315!\2033\316!\2033\211\2028\317\320\225\"\266\202\202\316!\204G\321\322!\210\323\324\"\210\325\326\327#\330\331\332\333\"\"\330\331\332\334\"\"\330\331\332\335\"\"\336\337\"\266\204\207" [standard-output vc-arch-program generate-new-buffer " *string-output*" #[0 "\301!\207" [standard-output kill-buffer] 2] call-process nil "my-revision-library" buffer-string string-match "\\(.*\\)\n" match-string 1 file-directory-p file-writable-p substring 0 error "No writable revlib directory found" message "Revlib at %s" directory-files full "[^.]\\|\\.\\.\\." apply append mapcar #[257 "\300!\205 \301\302\303#\207" [file-directory-p directory-files full "[^.]\\|\\.\\.\\."] 5 "\n\n(fn DIR)"] #[257 "\300!\205 \301\302\303#\207" [file-directory-p directory-files full "[^.]\\|\\.\\.\\."] 5 "\n\n(fn DIR)"] #[257 "\300!\205 \301\302\303#\207" [file-directory-p directory-files full "--.*--"] 5 "\n\n(fn DIR)"] mapc vc-arch-trim-one-revlib] 9 (#$ . 16098) nil]) (defvar vc-arch-extra-menu-map (byte-code "\300 \301\302\303#\210\211\207" [make-sparse-keymap define-key [add-tagline] (menu-item "Add tagline" vc-arch-add-tagline)] 5)) (defalias 'vc-arch-extra-menu #[0 "\207" [vc-arch-extra-menu-map] 1]) #@24 (fn FILE REV BUFFER) (defalias 'vc-arch-find-revision #[771 "\300\301!\302\303\304\305\306!\307\"\310$\216\311\312!r\211q\210\302\303\313\305\306!\314\"\310$\216\315p\316\317\320  &\210\321ed\322\317\211\211\323\324\n&\n\210*\210rq\210\325!*\207" [make-temp-file "vc-out" make-byte-code 0 "\301\300!\207" vconcat vector [delete-file] 2 generate-new-buffer " *temp*" "\301\300!\205 \302\300!\207" [buffer-name kill-buffer] vc-arch-command 1 nil "file-diffs" call-process-region "patch" "-R" "-o" insert-file-contents] 16 (#$ . 17503)]) (provide 'vc-arch)