%PDF- %PDF-
Direktori : /usr/local/share/emacs/27.2/lisp/ |
Current File : //usr/local/share/emacs/27.2/lisp/tar-mode.elc |
;ELC ;;; Compiled ;;; in Emacs version 27.2 ;;; 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. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (byte-code "\300\301!\210\302\303\304\305\306\307\310\311&\210\312\313\314\315\316DD\317\320\321%\210\312\322\314\315\323DD\324\320\325%\210\312\326\314\315\327DD\330\320\325%\210\312\331\314\315\332DD\333\320\325\334\335&\207" [require arc-mode custom-declare-group tar nil "Simple editing of tar files." :prefix "tar-" :group data custom-declare-variable tar-anal-blocksize funcall function #[0 "\300\207" [20] 1] "The blocksize of tar files written by Emacs, or nil, meaning don't care.\nThe blocksize of a tar file is not really the size of the blocks; rather, it is\nthe number of blocks written with one system call. When tarring to a tape,\nthis is the size of the *tape* blocks, but when writing to a file, it doesn't\nmatter much. The only noticeable difference is that if a tar file does not\nhave a blocksize of 20, tar will tell you that; all this really controls is\nhow many null padding bytes go on the end of the tar file." :type (choice integer (const nil)) tar-update-datestamp #[0 "\300\207" [nil] 1] "Non-nil means Tar mode should play fast and loose with sub-file datestamps.\nIf this is true, then editing and saving a tar file entry back into its\ntar file will update its datestamp. If false, the datestamp is unchanged.\nYou may or may not want this - it is good in that you can tell when a file\nin a tar archive has been changed, but it is bad for the same reason that\nediting a file in the tar archive at all is bad - the changed version of\nthe file never exists on disk." boolean tar-mode-show-date #[0 "\300\207" [nil] 1] "Non-nil means Tar mode should show the date/time of each subfile.\nThis information is useful, but it takes screen space away from file names." tar-copy-preserve-time #[0 "\300\207" [nil] 1] "Non-nil means that Tar mode preserves the timestamp when copying files." :version "27.1"] 8) (defvar tar-parse-info nil) #@70 Buffer containing the tar archive from which a member was extracted. (defvar tar-superior-buffer nil (#$ . 2281)) #@56 Tar descriptor for a member extracted from an archive. (defvar tar-superior-descriptor nil (#$ . 2401)) (defvar tar-file-name-coding-system nil) (byte-code "\300\301\302\303#\210\300\304\302\303#\207" [put tar-superior-buffer permanent-local t tar-superior-descriptor] 4) #@45 Buffer that holds the actual raw tar bytes. (defvar tar-data-buffer nil (#$ . 2679)) (make-variable-buffer-local 'tar-data-buffer) #@59 If non-nil, `tar-data-buffer' indeed holds raw tar bytes. (defvar tar-data-swapped nil (#$ . 2816)) (make-variable-buffer-local 'tar-data-swapped) #@57 Return non-nil if the tar-data is in `tar-data-buffer'. (defalias 'tar-data-swapped-p #[0 "\302!\205 \303!\303 U\204 \303!\303 V=\204 \304\305!\210 \207" [tar-data-buffer tar-data-swapped buffer-live-p buffer-size cl--assertion-failed (or (= (buffer-size tar-data-buffer) (buffer-size)) (eq tar-data-swapped (> (buffer-size tar-data-buffer) (buffer-size))))] 3 (#$ . 2969)]) #@143 Swap buffer contents between current buffer and `tar-data-buffer'. Preserve the modified states of the buffers and set `buffer-swapped-with'. (defalias 'tar-swap-data #[0 "\302!\302 \303!\210 ?\304!\210rq\210\304!)\207" [tar-data-buffer tar-data-swapped buffer-modified-p buffer-swap-text restore-buffer-modified-p] 4 (#$ . 3358)]) #@69 compiler-macro for inlining `tar-header-p'. (fn CL-WHOLE-ARG CL-X) (defalias 'tar-header-p--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block tar-header-p (and (vectorp cl-x) (>= (length cl-x) 17) (memq (aref cl-x 0) cl-struct-tar-header-tags) t)) nil] 9 (#$ . 3702)]) (put 'tar-header-p 'compiler-macro 'tar-header-p--cmacro) #@13 (fn CL-X) (defalias 'tar-header-p #[257 "\301!\205 \211G\302Y\205 \211\303H>\205 \304\207" [cl-struct-tar-header-tags vectorp 17 0 t] 3 (#$ . 4072)]) (byte-code "\300\301\302\303#\304\305\306\301#\207" [function-put tar-header-p side-effect-free error-free put tar-header cl-deftype-satisfies] 5) #@78 compiler-macro for inlining `tar-header-data-start'. (fn CL-WHOLE-ARG CL-X) (defalias 'tar-header-data-start--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block tar-header-data-start (progn (or (and (memq (aref cl-x 0) cl-struct-tar-header-tags)) (signal 'wrong-type-argument (list 'tar-header cl-x))) (aref cl-x 1))) nil] 9 (#$ . 4382)]) (put 'tar-header-data-start 'compiler-macro 'tar-header-data-start--cmacro) #@66 Access slot "data-start" of `tar-header' struct CL-X. (fn CL-X) (defalias 'tar-header-data-start #[257 "\211\301H>\204 \302\303\304D\"\210\211\305H\207" [cl-struct-tar-header-tags 0 signal wrong-type-argument tar-header 1] 5 (#$ . 4839)]) (byte-code "\300\301\302\303#\300\207" [function-put tar-header-data-start side-effect-free t] 4) #@72 compiler-macro for inlining `tar-header-name'. (fn CL-WHOLE-ARG CL-X) (defalias 'tar-header-name--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block tar-header-name (progn (or (and (memq (aref cl-x 0) cl-struct-tar-header-tags)) (signal 'wrong-type-argument (list 'tar-header cl-x))) (aref cl-x 2))) nil] 9 (#$ . 5186)]) (put 'tar-header-name 'compiler-macro 'tar-header-name--cmacro) #@60 Access slot "name" of `tar-header' struct CL-X. (fn CL-X) (defalias 'tar-header-name #[257 "\211\301H>\204 \302\303\304D\"\210\211\305H\207" [cl-struct-tar-header-tags 0 signal wrong-type-argument tar-header 2] 5 (#$ . 5613)]) (byte-code "\300\301\302\303#\300\207" [function-put tar-header-name side-effect-free t] 4) #@72 compiler-macro for inlining `tar-header-mode'. (fn CL-WHOLE-ARG CL-X) (defalias 'tar-header-mode--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block tar-header-mode (progn (or (and (memq (aref cl-x 0) cl-struct-tar-header-tags)) (signal 'wrong-type-argument (list 'tar-header cl-x))) (aref cl-x 3))) nil] 9 (#$ . 5942)]) (put 'tar-header-mode 'compiler-macro 'tar-header-mode--cmacro) #@60 Access slot "mode" of `tar-header' struct CL-X. (fn CL-X) (defalias 'tar-header-mode #[257 "\211\301H>\204 \302\303\304D\"\210\211\305H\207" [cl-struct-tar-header-tags 0 signal wrong-type-argument tar-header 3] 5 (#$ . 6369)]) (byte-code "\300\301\302\303#\300\207" [function-put tar-header-mode side-effect-free t] 4) #@71 compiler-macro for inlining `tar-header-uid'. (fn CL-WHOLE-ARG CL-X) (defalias 'tar-header-uid--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block tar-header-uid (progn (or (and (memq (aref cl-x 0) cl-struct-tar-header-tags)) (signal 'wrong-type-argument (list 'tar-header cl-x))) (aref cl-x 4))) nil] 9 (#$ . 6698)]) (put 'tar-header-uid 'compiler-macro 'tar-header-uid--cmacro) #@59 Access slot "uid" of `tar-header' struct CL-X. (fn CL-X) (defalias 'tar-header-uid #[257 "\211\301H>\204 \302\303\304D\"\210\211\305H\207" [cl-struct-tar-header-tags 0 signal wrong-type-argument tar-header 4] 5 (#$ . 7120)]) (byte-code "\300\301\302\303#\300\207" [function-put tar-header-uid side-effect-free t] 4) #@71 compiler-macro for inlining `tar-header-gid'. (fn CL-WHOLE-ARG CL-X) (defalias 'tar-header-gid--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block tar-header-gid (progn (or (and (memq (aref cl-x 0) cl-struct-tar-header-tags)) (signal 'wrong-type-argument (list 'tar-header cl-x))) (aref cl-x 5))) nil] 9 (#$ . 7446)]) (put 'tar-header-gid 'compiler-macro 'tar-header-gid--cmacro) #@59 Access slot "gid" of `tar-header' struct CL-X. (fn CL-X) (defalias 'tar-header-gid #[257 "\211\301H>\204 \302\303\304D\"\210\211\305H\207" [cl-struct-tar-header-tags 0 signal wrong-type-argument tar-header 5] 5 (#$ . 7868)]) (byte-code "\300\301\302\303#\300\207" [function-put tar-header-gid side-effect-free t] 4) #@72 compiler-macro for inlining `tar-header-size'. (fn CL-WHOLE-ARG CL-X) (defalias 'tar-header-size--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block tar-header-size (progn (or (and (memq (aref cl-x 0) cl-struct-tar-header-tags)) (signal 'wrong-type-argument (list 'tar-header cl-x))) (aref cl-x 6))) nil] 9 (#$ . 8194)]) (put 'tar-header-size 'compiler-macro 'tar-header-size--cmacro) #@60 Access slot "size" of `tar-header' struct CL-X. (fn CL-X) (defalias 'tar-header-size #[257 "\211\301H>\204 \302\303\304D\"\210\211\305H\207" [cl-struct-tar-header-tags 0 signal wrong-type-argument tar-header 6] 5 (#$ . 8621)]) (byte-code "\300\301\302\303#\300\207" [function-put tar-header-size side-effect-free t] 4) #@72 compiler-macro for inlining `tar-header-date'. (fn CL-WHOLE-ARG CL-X) (defalias 'tar-header-date--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block tar-header-date (progn (or (and (memq (aref cl-x 0) cl-struct-tar-header-tags)) (signal 'wrong-type-argument (list 'tar-header cl-x))) (aref cl-x 7))) nil] 9 (#$ . 8950)]) (put 'tar-header-date 'compiler-macro 'tar-header-date--cmacro) #@60 Access slot "date" of `tar-header' struct CL-X. (fn CL-X) (defalias 'tar-header-date #[257 "\211\301H>\204 \302\303\304D\"\210\211\305H\207" [cl-struct-tar-header-tags 0 signal wrong-type-argument tar-header 7] 5 (#$ . 9377)]) (byte-code "\300\301\302\303#\300\207" [function-put tar-header-date side-effect-free t] 4) #@76 compiler-macro for inlining `tar-header-checksum'. (fn CL-WHOLE-ARG CL-X) (defalias 'tar-header-checksum--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block tar-header-checksum (progn (or (and (memq (aref cl-x 0) cl-struct-tar-header-tags)) (signal 'wrong-type-argument (list 'tar-header cl-x))) (aref cl-x 8))) nil] 9 (#$ . 9706)]) (put 'tar-header-checksum 'compiler-macro 'tar-header-checksum--cmacro) #@64 Access slot "checksum" of `tar-header' struct CL-X. (fn CL-X) (defalias 'tar-header-checksum #[257 "\211\301H>\204 \302\303\304D\"\210\211\305H\207" [cl-struct-tar-header-tags 0 signal wrong-type-argument tar-header 8] 5 (#$ . 10153)]) (byte-code "\300\301\302\303#\300\207" [function-put tar-header-checksum side-effect-free t] 4) #@77 compiler-macro for inlining `tar-header-link-type'. (fn CL-WHOLE-ARG CL-X) (defalias 'tar-header-link-type--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block tar-header-link-type (progn (or (and (memq (aref cl-x 0) cl-struct-tar-header-tags)) (signal 'wrong-type-argument (list 'tar-header cl-x))) (aref cl-x 9))) nil] 9 (#$ . 10495)]) (put 'tar-header-link-type 'compiler-macro 'tar-header-link-type--cmacro) #@65 Access slot "link-type" of `tar-header' struct CL-X. (fn CL-X) (defalias 'tar-header-link-type #[257 "\211\301H>\204 \302\303\304D\"\210\211\305H\207" [cl-struct-tar-header-tags 0 signal wrong-type-argument tar-header 9] 5 (#$ . 10948)]) (byte-code "\300\301\302\303#\300\207" [function-put tar-header-link-type side-effect-free t] 4) #@77 compiler-macro for inlining `tar-header-link-name'. (fn CL-WHOLE-ARG CL-X) (defalias 'tar-header-link-name--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block tar-header-link-name (progn (or (and (memq (aref cl-x 0) cl-struct-tar-header-tags)) (signal 'wrong-type-argument (list 'tar-header cl-x))) (aref cl-x 10))) nil] 9 (#$ . 11293)]) (put 'tar-header-link-name 'compiler-macro 'tar-header-link-name--cmacro) #@65 Access slot "link-name" of `tar-header' struct CL-X. (fn CL-X) (defalias 'tar-header-link-name #[257 "\211\301H>\204 \302\303\304D\"\210\211\305H\207" [cl-struct-tar-header-tags 0 signal wrong-type-argument tar-header 10] 5 (#$ . 11747)]) (byte-code "\300\301\302\303#\300\207" [function-put tar-header-link-name side-effect-free t] 4) #@73 compiler-macro for inlining `tar-header-magic'. (fn CL-WHOLE-ARG CL-X) (defalias 'tar-header-magic--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block tar-header-magic (progn (or (and (memq (aref cl-x 0) cl-struct-tar-header-tags)) (signal 'wrong-type-argument (list 'tar-header cl-x))) (aref cl-x 11))) nil] 9 (#$ . 12093)]) (put 'tar-header-magic 'compiler-macro 'tar-header-magic--cmacro) #@61 Access slot "magic" of `tar-header' struct CL-X. (fn CL-X) (defalias 'tar-header-magic #[257 "\211\301H>\204 \302\303\304D\"\210\211\305H\207" [cl-struct-tar-header-tags 0 signal wrong-type-argument tar-header 11] 5 (#$ . 12527)]) (byte-code "\300\301\302\303#\300\207" [function-put tar-header-magic side-effect-free t] 4) #@73 compiler-macro for inlining `tar-header-uname'. (fn CL-WHOLE-ARG CL-X) (defalias 'tar-header-uname--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block tar-header-uname (progn (or (and (memq (aref cl-x 0) cl-struct-tar-header-tags)) (signal 'wrong-type-argument (list 'tar-header cl-x))) (aref cl-x 12))) nil] 9 (#$ . 12861)]) (put 'tar-header-uname 'compiler-macro 'tar-header-uname--cmacro) #@61 Access slot "uname" of `tar-header' struct CL-X. (fn CL-X) (defalias 'tar-header-uname #[257 "\211\301H>\204 \302\303\304D\"\210\211\305H\207" [cl-struct-tar-header-tags 0 signal wrong-type-argument tar-header 12] 5 (#$ . 13295)]) (byte-code "\300\301\302\303#\300\207" [function-put tar-header-uname side-effect-free t] 4) #@73 compiler-macro for inlining `tar-header-gname'. (fn CL-WHOLE-ARG CL-X) (defalias 'tar-header-gname--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block tar-header-gname (progn (or (and (memq (aref cl-x 0) cl-struct-tar-header-tags)) (signal 'wrong-type-argument (list 'tar-header cl-x))) (aref cl-x 13))) nil] 9 (#$ . 13629)]) (put 'tar-header-gname 'compiler-macro 'tar-header-gname--cmacro) #@61 Access slot "gname" of `tar-header' struct CL-X. (fn CL-X) (defalias 'tar-header-gname #[257 "\211\301H>\204 \302\303\304D\"\210\211\305H\207" [cl-struct-tar-header-tags 0 signal wrong-type-argument tar-header 13] 5 (#$ . 14063)]) (byte-code "\300\301\302\303#\300\207" [function-put tar-header-gname side-effect-free t] 4) #@72 compiler-macro for inlining `tar-header-dmaj'. (fn CL-WHOLE-ARG CL-X) (defalias 'tar-header-dmaj--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block tar-header-dmaj (progn (or (and (memq (aref cl-x 0) cl-struct-tar-header-tags)) (signal 'wrong-type-argument (list 'tar-header cl-x))) (aref cl-x 14))) nil] 9 (#$ . 14397)]) (put 'tar-header-dmaj 'compiler-macro 'tar-header-dmaj--cmacro) #@60 Access slot "dmaj" of `tar-header' struct CL-X. (fn CL-X) (defalias 'tar-header-dmaj #[257 "\211\301H>\204 \302\303\304D\"\210\211\305H\207" [cl-struct-tar-header-tags 0 signal wrong-type-argument tar-header 14] 5 (#$ . 14826)]) (byte-code "\300\301\302\303#\300\207" [function-put tar-header-dmaj side-effect-free t] 4) #@72 compiler-macro for inlining `tar-header-dmin'. (fn CL-WHOLE-ARG CL-X) (defalias 'tar-header-dmin--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block tar-header-dmin (progn (or (and (memq (aref cl-x 0) cl-struct-tar-header-tags)) (signal 'wrong-type-argument (list 'tar-header cl-x))) (aref cl-x 15))) nil] 9 (#$ . 15157)]) (put 'tar-header-dmin 'compiler-macro 'tar-header-dmin--cmacro) #@60 Access slot "dmin" of `tar-header' struct CL-X. (fn CL-X) (defalias 'tar-header-dmin #[257 "\211\301H>\204 \302\303\304D\"\210\211\305H\207" [cl-struct-tar-header-tags 0 signal wrong-type-argument tar-header 15] 5 (#$ . 15586)]) (byte-code "\300\301\302\303#\300\207" [function-put tar-header-dmin side-effect-free t] 4) #@80 compiler-macro for inlining `tar-header-header-start'. (fn CL-WHOLE-ARG CL-X) (defalias 'tar-header-header-start--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block tar-header-header-start (progn (or (and (memq (aref cl-x 0) cl-struct-tar-header-tags)) (signal 'wrong-type-argument (list 'tar-header cl-x))) (aref cl-x 16))) nil] 9 (#$ . 15917)]) (put 'tar-header-header-start 'compiler-macro 'tar-header-header-start--cmacro) #@68 Access slot "header-start" of `tar-header' struct CL-X. (fn CL-X) (defalias 'tar-header-header-start #[257 "\211\301H>\204 \302\303\304D\"\210\211\305H\207" [cl-struct-tar-header-tags 0 signal wrong-type-argument tar-header 16] 5 (#$ . 16386)]) (byte-code "\300\301\302\303#\304\305\306\"\207" [function-put tar-header-header-start side-effect-free t defalias copy-tar-header copy-sequence] 4) #@163 compiler-macro for inlining `make-tar-header'. (fn CL-WHOLE-ARG DATA-START NAME MODE UID GID SIZE DATE CHECKSUM LINK-TYPE LINK-NAME MAGIC UNAME GNAME DMAJ DMIN) (defalias 'make-tar-header--cmacro #[4112 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (data-start name mode uid gid size date checksum link-type link-name magic uname gname dmaj dmin) (cl-block make-tar-header (vector 'tar-header data-start name mode uid gid size date checksum link-type link-name magic uname gname dmaj dmin nil)) nil] 37 (#$ . 16791)]) (put 'make-tar-header 'compiler-macro 'make-tar-header--cmacro) #@149 Constructor for objects of type `tar-header'. (fn DATA-START NAME MODE UID GID SIZE DATE CHECKSUM LINK-TYPE LINK-NAME MAGIC UNAME GNAME DMAJ DMIN) (defalias 'make-tar-header #[3855 "\300\301\302&\207" [vector tar-header nil] 33 (#$ . 17419)]) (byte-code "\300\301\302\303#\304\305\306\211\307\303\310\311\305\306& \207" [function-put make-tar-header side-effect-free t cl-struct-define tar-header nil vector ((cl-tag-slot) (data-start) (name) (mode) (uid) (gid) (size) (date) (checksum) (link-type) (link-name) (magic) (uname) (gname) (dmaj) (dmin) (header-start)) cl-struct-tar-header-tags] 11) (defconst tar-name-offset 0) (defconst tar-mode-offset (+ tar-name-offset 100)) (defconst tar-uid-offset (+ tar-mode-offset 8)) (defconst tar-gid-offset (+ tar-uid-offset 8)) (defconst tar-size-offset (+ tar-gid-offset 8)) (defconst tar-time-offset (+ tar-size-offset 12)) (defconst tar-chk-offset (+ tar-time-offset 12)) (defconst tar-linkp-offset (+ tar-chk-offset 8)) (defconst tar-link-offset (1+ tar-linkp-offset)) (defconst tar-magic-offset (+ tar-link-offset 100)) (defconst tar-uname-offset (+ tar-magic-offset 8)) (defconst tar-gname-offset (+ tar-uname-offset 32)) (defconst tar-dmaj-offset (+ tar-gname-offset 32)) (defconst tar-dmin-offset (+ tar-dmaj-offset 8)) (defconst tar-prefix-offset (+ tar-dmin-offset 8)) (defconst tar-end-offset (+ tar-prefix-offset 155)) #@49 Round S up to the next multiple of 512. (fn S) (defalias 'tar-roundup-512 #[257 "\300\211\301\\\302\"\303\"\207" [ash 511 -9 9] 5 (#$ . 18831)]) #@424 Return a `tar-header' structure. This is a list of name, mode, uid, gid, size, write-date, checksum, link-type, and link-name. CODING is our best guess for decoding non-ASCII file names. DISABLE-SLASH, if non-nil, means don't decide an entry is a directory based on the trailing slash, only based on the "link-type" field of the file header. This is used for "old GNU" Tar format. (fn POS CODING &optional DISABLE-SLASH) (defalias 'tar-header-block-tokenize #[770 "\306\\dV\203\f \307\310!\210\311eZ\306\"\312U\204 \313\314!\210\203# \313\315!\210\211\306\\\211\262{\211\312H\312U\203<