;ELC   
;;; compiled by jwz@thalidomide on Fri Dec 31 02:02:27 1993
;;; from file /th/jwz/emacs19/lisp/packages/tar-mode.el
;;; emacs version 19.9 Lucid (beta9).
;;; bytecomp version 2.22; 22-dec-93.
;;; optimization is on.
;;; this file uses opcodes which do not exist in Emacs 18.

(if (and (boundp 'emacs-version)
	 (or (and (boundp 'epoch::version) epoch::version)
	     (string-lessp emacs-version "19")))
    (error "This file was compiled for Emacs 19."))

(defvar tar-anal-blocksize 20 "\
*The blocksize of tar files written by Emacs, or nil, meaning don't care.
The blocksize of a tar file is not really the size of the blocks; rather, it is
the number of blocks written with one system call.  When tarring to a tape, 
this is the size of the *tape* blocks, but when writing to a file, it doesn't
matter much.  The only noticeable difference is that if a tar file does not
have a blocksize of 20, the tar program will issue a warning; all this really
controls is how many null padding bytes go on the end of the tar file.")
(defvar tar-update-datestamp (byte-code "ÀÁ!®ƒÀÂ!‡" [fboundp current-time current-time-seconds] 2) "\
*Whether tar-mode should play fast and loose with sub-file datestamps;
if this is true, then editing and saving a tar file entry back into its
tar file will update its datestamp.  If false, the datestamp is unchanged.
You may or may not want this - it is good in that you can tell when a file
in a tar archive has been changed, but it is bad for the same reason that
editing a file in the tar archive at all is bad - the changed version of 
the file never exists on disk.

This does not work in Emacs 18, because there's no way to get the current 
time as an integer - if this var is true, then editing a file sets its date
to midnight, Jan 1 1970 GMT, which happens to be what 0 encodes.")
(fset 'tar-setf '(macro . #[(form val) "À	ÂÃ!­�\"‰9«‡ÅEª¾:¬†ÇÈ	\"ª´@É=«ŒÊA@Ë8Fª¢@Ì=«‰ÍA@Eª“@Î=«‰ÏA@Eª„ÇÐ	\")‡" [macroexpand form boundp byte-compile-macro-environment mform setq val error "can't setf %s" aref aset 2 car setcar cdr setcdr "don't know how to setf %s"] 5 "\
A mind-numbingly simple implementation of setf."]))
(fset 'tar-dolist '(macro . #[(control &rest body) "@A@AA@ÄÅ\nDCÆÅÄÇDCÈ	ÊÅËÅDEC\"BBE	F+‡" [control val init var let _dolist_iterator_ while (car _dolist_iterator_) append body setq cdr] 12 "\
syntax: (dolist (var-name list-expr &optional return-value) &body body)"]))
(fset 'tar-dotimes '(macro . #[(control &rest body) "@A@AA@ÄÅ\nDÆDDÇÈÅEÉ\nËÌDEC\"BB	F+‡" [control val n var let _dotimes_end_ 0 while < append body setq 1+] 10 "\
syntax: (dotimes (var-name count-expr &optional return-value) &body body)"]))
(byte-code "ÀÁMˆÂÃMˆÄÅMˆÆÇMˆÈÉMˆÊËMˆÌÍMˆÎÏMˆÐÑMˆÒÓMˆÔÕMˆÖ×MˆØÙMˆÚÛMˆÜÝMˆÞßMˆàáMˆâãMˆä%äæ\\‰'è\\‰)è\\‰*è\\‰+ì\\‰-ì\\‰.è\\‰/ð\\‰1æ\\‰2è\\‰3ô\\‰5ô\\‰6è\\‰7è\\8À‡" [make-tar-header (macro . #[(name mode uid git size date ck lt ln magic uname gname devmaj devmin) "À	\n	\n¯‡" [vector name mode uid git size date ck lt ln magic uname gname devmaj devmin] 15]) tar-header-name (macro . #[(x) "À	ÂE‡" [aref x 0] 3]) tar-header-mode (macro . #[(x) "À	ÂE‡" [aref x 1] 3]) tar-header-uid (macro . #[(x) "À	ÂE‡" [aref x 2] 3]) tar-header-gid (macro . #[(x) "À	ÂE‡" [aref x 3] 3]) tar-header-size (macro . #[(x) "À	ÂE‡" [aref x 4] 3]) tar-header-date (macro . #[(x) "À	ÂE‡" [aref x 5] 3]) tar-header-checksum (macro . #[(x) "À	ÂE‡" [aref x 6] 3]) tar-header-link-type (macro . #[(x) "À	ÂE‡" [aref x 7] 3]) tar-header-link-name (macro . #[(x) "À	ÂE‡" [aref x 8] 3]) tar-header-magic (macro . #[(x) "À	ÂE‡" [aref x 9] 3]) tar-header-uname (macro . #[(x) "À	ÂE‡" [aref x 10] 3]) tar-header-gname (macro . #[(x) "À	ÂE‡" [aref x 11] 3]) tar-header-dmaj (macro . #[(x) "À	ÂE‡" [aref x 12] 3]) tar-header-dmin (macro . #[(x) "À	ÂE‡" [aref x 13] 3]) make-tar-desc (macro . #[(data-start tokens) "À	\nE‡" [cons data-start tokens] 3]) tar-desc-data-start (macro . #[(x) "À	D‡" [car x] 2]) tar-desc-tokens (macro . #[(x) "À	D‡" [cdr x] 2]) 0 tar-name-offset 100 tar-mode-offset 8 tar-uid-offset tar-gid-offset tar-size-offset 12 tar-time-offset tar-chk-offset tar-linkp-offset 1 tar-link-offset tar-magic-offset tar-uname-offset 32 tar-gname-offset tar-dmaj-offset tar-dmin-offset tar-end-offset] 3)
(fset 'tokenize-tar-header-block #[(string) "GÁW«‚Â‡ÃHÃU«ˆÄHÃU„SS	S\nSHSO‰Ñ˜®„Ò˜ÂÕ×#«ˆÃ•S^×#«ˆÃ•S^×#«ˆ\nÃ•S^\n×	#«ˆÃ•S^OÃU®„ÚU?­„ÚZ‰¬Š×Û\"«ƒÜÝÞS#Þ S#Þ !S#Þ!\"S#ã\"$S#Þ$S#O‰­†\nO­†	OÞ%S#Þ%&S#&.	‡ç‡" [string 512 nil 0 101 tar-mode-offset name-end tar-magic-offset link-end tar-gname-offset uname-end tar-dmaj-offset gname-end tar-linkp-offset link-p tar-uname-offset magic-str "ustar  " "GNUtar " uname-valid-p name "[^ ]* " nulsexp string-match tar-name-offset tar-link-offset 48 "/$" 5 vector tar-parse-octal-integer tar-uid-offset tar-gid-offset tar-size-offset tar-time-offset tar-parse-octal-integer-32 tar-chk-offset tar-dmin-offset tar-end-offset empty-tar-block] 19 "\
Returns a 'tar-header' structure (a list of name, mode, uid, gid, size, 
write-date, checksum, link-type, and link-name)."])
(fset 'tar-parse-octal-integer #[(string &optional start end) "¬‚Á\n¬ƒGHÁU«‚Á‡Á\nW«šHÅW«ƒª‰Æ_HÅZ\\T‰ªb)‡" [start 0 end string n 48 8] 4 "\
deletes all your files, and then reboots."])
(byte-code "ÀÁMˆÂÃM‡" [tar-parse-octal-integer-32 #[(string &optional start end) "¬‚Á\n¬ƒGÄ\nÅZ#Ä\nÅZ\n#ÈÉÊ\"ÉË\"\"ÌÍ\"*B‡" [start 0 end string tar-parse-octal-integer 6 bot top logior ash 2 -16 logand 65535] 5] tar-parse-octal-integer-safe #[(string) "G‰ÂU«„ÃÄ!ˆ	ÂW«˜HÇW¬‡HÈV«„ÃÉ!ˆT‰ªc+Ê!‡" [string L 0 error "empty string" i _dotimes_end_ 48 55 "'%c' is not an octal digit." tar-parse-octal-integer] 3]] 2)
(fset 'checksum-tar-header-block #[(string) "‰Â\\ÄÄÄ	W«�H\\T‰ªl‰ÈW«�H\\T‰ªlÉ\\,‡" [tar-chk-offset chk-field-start 8 chk-field-end 0 sum i string 512 256] 4 "\
Computes and returns a tar-acceptable checksum for this block."])
(fset 'check-tar-header-block-checksum #[(hblock desired-checksum file-name) "Á\n!U?­ˆÃ ˆÄÅ\"‡" [desired-checksum checksum-tar-header-block hblock beep message "Invalid checksum for file %s!" file-name] 3 "\
Beep and print a warning if the checksum doesn't match."])
(fset 'recompute-tar-header-block-checksum #[(hblock) "À	!ÃÄ\n\"‰G	ÇÈIˆ	ÉÊIˆÈW«˜	ÍZZÎZHIˆT‰ªc-	‡" [checksum-tar-header-block hblock chk format "%6o" chk-string l 154 0 155 32 i _dotimes_end_ 153 1] 6 "\
Modifies the given string to have a valid checksum field."])
(fset 'tar-grind-file-mode #[(mode string start) "	ÂÄ\"ÅU«ƒÆª�ÇIˆ	È\\ÂÉ\"ÅU«ƒÆª�ÊIˆ	Ë\\ÂÌ\"ÅU«ƒÆª�ÍIˆ	Î\\ÂÏ\"ÅU«ƒÆª�ÇIˆ	Ð\\ÂÑ\"ÅU«ƒÆª�ÊIˆ	Ò\\ÂÓ\"ÅU«ƒÆª�ÍIˆ	Ô\\ÂÐ\"ÅU«ƒÆª�ÇIˆ	Õ\\ÂË\"ÅU«ƒÆª�ÊIˆ	Ó\\ÂÈ\"ÅU«ƒÆª�ÍIˆÂÖ\"ÅU¬‡	Ë\\×IˆÂØ\"ÅU¬‡	Ò\\×Iˆ‡" [string start logand mode 256 0 45 114 1 128 119 2 64 120 3 32 4 16 5 8 6 7 1024 115 2048] 5 "\
Write a \"-rw--r--r-\" representing MODE into STRING beginning at START."])
(defconst tar-can-print-dates (byte-code "ÀÁ!®ƒÀÂ!‡" [fboundp current-time current-time-seconds] 2) "\
true if this emacs has been built with time-printing support")
(fset 'summarize-tar-header-block #[(tar-hblock &optional mod-p) "ÁHÂHÃHÄHÅHÆHÇHÈHÉHÊHËHÆËËË«ƒÜª�Ã\\S‰\\\\‰\\ á G«‡GÈ\\ª�Á\\\\â\"#ÊH$#Á%«ƒæª�âIˆ#Â$ç=¬†$Á=«ƒèªØ$Â=«ƒéªÏ$Ã=«ƒêªÆ$Ä=«ƒëª½$Ç=«ƒìª´$È=«ƒíª«$É=«ƒîª¢$ï=«ƒæª™$ð=«ƒñª�$ò=«ƒóª‡$ô=­�õIˆö#Ã#ˆGÁU«†÷!ª‚GÁU«†÷!ª‚÷!SG^Á8989W«›#8Z‰G8ZÂZHIˆ8T‰8ª`*#TúIˆSG^Á8989W«˜#Ã\\8\\8HIˆ8T‰8ªc*G^Á8989W«›#8Z‰G8ZÂZHIˆ8T‰8ª`*«Ûû üçO=û!‰>üçO?=?š«‰>Ç�@ Oª‹>ÇÆO�A ?QB�C Á8989W«š# �D 8ZZB8HIˆ8T‰8ªa.GÁ8989W«–# 8\\8HIˆ8T‰8ªe*Â=¬†Ã=«âÄÁ8989W«¨# G8Â\\\\\\ÂU«…�E ªƒ�F 8HIˆ8T‰8ªS*GÁ8989W«œ# G8È\\\\\\8HIˆ8T‰8ª_*#.‡" [tar-hblock 0 1 2 3 10 11 4 5 6 7 8 link-name link-p ck time size gname uname gid uid mode name left namew groupw sizew tar-can-print-dates 15 datew slash lastdigit namestart make-string 32 string type mod-p 42 nil 45 108 115 99 98 100 112 20 29 77 35 83 38 86 tar-grind-file-mode int-to-string i _dotimes_end_ 47 current-time-string -4 year file file-year 16 " " str 12 13 "==>" "-->"] 13 "\
Returns a line similar to the output of 'tar -vtf'."])
(fset 'tar-summarize-buffer #[nil "ÀÁ!ˆÂÄÄÆ ÇZ]ÄÉ¥]\nÂÌ=¬øÍ\\dV«„ÎÏ!ˆ‰Í\\{Ñ!Í\\ÀÒ\n¥\"ˆÌ=¬Ë¬„ÎÓ!ˆÔHÕ=«„Í\\ÖH‰ØW«ŠÎÙØH#ˆBBÔH¬”ØV«ŽÚ‰SÛ\"Ü\"Í\\\\))ªÝÞ!ˆŸ-Àß!ˆŠebˆÂ !!«–!@\"ã\"A!ä±ˆ!A!)ªf)Ýå!ˆ`%Ä%}ˆæÂ!ˆ*Àç!‡" [message "parsing tar file..." nil result 1 pos buffer-size 1024 bs 100 bs100 tokens empty-tar-block 512 error "truncated tar file" hblock tokenize-tar-header-block "parsing tar file...%s%%" "premature EOF parsing tar file." 7 20 4 size 0 "%s has size %s - corrupted." ash -9 9 make-local-variable tar-parse-info "parsing tar file...formatting..." buffer-read-only _dolist_iterator_ tar-desc summarize-tar-header-block "\n" tar-header-offset set-buffer-modified-p "parsing tar file...done."] 6 "\
Parse the contents of the tar file in the current buffer, and place a
dired-like listing on the front; then narrow to it, so that only that listing
is visible (and the real data of the buffer is hidden)."])
(defvar tar-mode-map nil "\
*Local keymap for tar-mode listings.")
(byte-code "„¨ Á Â!ˆÃÄÅ#ˆÃÆÇ#ˆÃÈÉ#ˆÃÊÉ#ˆÃËÌ#ˆÃÍÌ#ˆÃÎÏ#ˆÃÐÑ#ˆÃÒÅ#ˆÃÓÅ#ˆÃÔÕ#ˆÃÖÇ#ˆÃ×Ø#ˆÃÙØ#ˆÃÚÛ#ˆÃÜÝ#ˆÃÞß#ˆÃàá#ˆÃâã#ˆÃäÕ#ˆÃåæ#ˆÃçè#ˆÃéê#ˆëì-\"«ŒÃîï#ˆÃðñ#ˆòóô\"ˆõö!¬ƒ÷6Á‡" [tar-mode-map make-keymap suppress-keymap define-key " " tar-next-line "c" tar-copy "d" tar-flag-deleted "" "e" tar-extract "f" "g" revert-buffer "h" describe-mode "n" "" "o" tar-extract-other-window "" "p" tar-previous-line "" "r" tar-rename-entry "u" tar-unflag "v" tar-view "x" tar-expunge "" tar-unflag-backwards "E" "M" tar-chmod-entry "G" tar-chgrp-entry "O" tar-chown-entry string-match "Lucid" emacs-version button2 tar-track-mouse-and-extract-file button3 tar-popup-menu autoload dired-mark-region "dired-lucid" boundp tar-menu ("Tar Mode Commands" ["Copy Subfile to Disk" tar-copy t] ["Rename Subfile" tar-rename-entry t] "----" ["Delete Flaged Subfiles" tar-expunge t] ["Flag Subfile for Deletion" tar-flag-deleted t] ["Flag Subfiles in Region for Deletion" (dired-mark-region '(tar-flag-deleted 1)) (mark)] ["Unflag Subfile" tar-unflag t] ["Unflag Subfiles in Region" (dired-mark-region '(tar-flag-deleted 1 t)) (mark)] "----" ["Change Permissions of Subfile..." tar-chmod-entry t] ["Change Group of Subfile..." tar-chgrp-entry t] ["Change Owner of Subfile..." tar-chown-entry t] "----" ["Edit Subfile Other Window" tar-extract-other-window t] ["Edit Subfile" tar-extract t] ["View Subfile" tar-view t])] 4)
(fset 'tar-track-mouse-and-extract-file #[(event) "À	!ˆÂÃ!ˆÄŠÆ ˆp)Ç!)‡" [mouse-set-point event tar-next-line 0 nil buffer tar-extract switch-to-buffer] 2 "\
Visit the tar-file-entry upon which the mouse is clicked." "e"])
(fset 'tar-popup-menu #[(event) "À	!ˆÂÃ!ˆÄ!‡" [mouse-set-point event tar-next-line 0 popup-menu tar-menu] 2 "\
Display the tar-mode menu." "@e"])
(byte-code "ÀÁÂÃ#ˆÀÄÂÃ#‡" [put tar-mode mode-class special tar-subfile-mode] 4)
(fset 'tar-mode #[nil "ÀÁ!ˆÀÂ!ˆÀÃ!ˆÄÀÅ!ˆÆÇÉ\nË!ˆÍÎ!ˆ~ˆÏÁ!«‰	«†Ð	}ˆªƒÑ ˆÒÓ\"«¡ÕÖ!ˆ×«–ÚÉ\"¬�ÛÜ!!ˆÝÄÉA#ˆßà!‡" [make-local-variable tar-header-offset tar-parse-info require-final-newline nil revert-buffer-function tar-mode-revert tar-mode major-mode "Tar" mode-name use-local-map tar-mode-map auto-save-mode 0 boundp 1 tar-summarize-buffer string-match "Lucid" emacs-version require mode-motion mode-motion-highlight-line mode-motion-hook current-menubar assoc set-buffer-menubar copy-sequence add-menu tar-menu run-hooks tar-mode-hook] 4 "\
Major mode for viewing a tar file as a dired-like listing of its contents.
You can move around using the usual cursor motion commands. 
Letters no longer insert themselves.
Type 'e' to pull a file out of the tar file and into its own buffer.
Type 'c' to copy an entry from the tar file into another file on disk.

If you edit a sub-file of this archive (as with the 'e' command) and 
save it with Control-X Control-S, the contents of that buffer will be 
saved back into the tar-file buffer; in this way you can edit a file 
inside of a tar archive without extracting it and re-archiving it.

See also: variables tar-update-datestamp and tar-anal-blocksize.
\\{tar-mode-map}"])
(byte-code "ÀÁ!¬‚ÂÂ‡" [boundp tar-subfile-mode nil] 2)
(fset 'tar-subfile-mode #[(p) "ÀÁ!«ƒ	¬„ÂÃ!ˆÄž¬†ÆÇC\"ÈÄ!ˆ	¬„?ª†Ê	!ËV‰«ŸÌ ‰«‡ÎÏ!!ˆ)ÐÑÒ\"ˆÓÔ!ˆÔÖ×!‡ØÑ!ˆ«‡ÈÚ!LˆÔÔÔ‰‡" [boundp superior-tar-buffer error "This buffer is not an element of a tar file." tar-subfile-mode minor-mode-alist append (tar-subfile-mode " TarFile") make-local-variable p prefix-numeric-value 0 current-local-map m use-local-map copy-keymap local-set-key "" tar-subfile-save-buffer auto-save-mode nil buffer-auto-save-file-name run-hooks tar-subfile-mode-hook local-unset-key subfile-orig-mlbid mode-line-buffer-identification superior-tar-descriptor] 4 "\
Minor mode for editing an element of a tar-file.
This mode redefines ^X^S to save the current buffer back into its 
associated tar-file buffer.  You must save that buffer to actually
save your changes to disk." "P"])
(fset 'tar-subfile-after-write-file-hook #[nil "­†	­ƒÁÂ!‡" [buffer-file-name tar-subfile-mode -1] 2])
(fset 'tar-mode-revert #[(&optional no-autosave no-confirm) "ÀÀÃÄ\"ˆ~ˆ)Æ ‡" [nil tar-header-offset revert-buffer-function revert-buffer t no-confirm tar-mode] 3 "\
Revert this buffer and turn on tar mode again, to re-compute the
directory listing."])
(byte-code "ÀÁMˆÂÃM‡" [tar-next-line #[(p) "yˆm?­ˆ	«ƒÂª�Ãu‡" [p tar-can-print-dates 48 36] 1 nil "p"] tar-previous-line #[(p) "À	[!‡" [tar-next-line p] 2 nil "p"]] 2)
(fset 'tar-current-descriptor #[(&optional noerror) "ÀeŠÁyˆ`)\"\n8®‡?­ƒÄÅ!‡" [count-lines 0 tar-parse-info noerror error "This line does not describe a tar-file entry."] 3 "\
Returns the tar-descriptor of the current line, or signals an error."])
(fset 'tar-extract #[(&optional other-window-p) "Á=Ã ‰A‰ÆHÈH	ÊH@Í\\\\‰	\\«²ÐÑÒ=«ƒÓª¥Ô=«ƒÕªœÖ=«ƒ×ª“Ø=«ƒÙªŠÚ=«ƒÛª�Ü\"ˆ	ÆU«„ÐÝ!ˆpß! áßâ !ãQ$%®�\n&ç(é *ç+*«ª(¬¦*@qˆâ*@!¬’ìí!«�-=«‡*@(ªZ*A‰*¬Vqˆ(„‘î !(ï+ðŽ~ˆŠ(qˆñ#ˆÆbˆç2ó!ˆôï!ˆõö!ˆóç!ˆ)÷ø!ˆ÷í!ˆ÷ù!ˆ÷ú!ˆ÷û!ˆ8-$:9;9;«…9C99@ç<‰=;«ºþÿ=\"«³=Æ�@ ”SO=�@ •TçOP�A =�@ ”�@ •O!@�B :PD9ABB9ª��C �D �B :PDD9*�E �@ !ˆ&%�F ç!ˆ)qˆ)\n«–�G (!ˆŠ(qˆ÷�H !ïL)ª‘«ˆ�I (!ª†�J (!.‡" [other-window-p view view-p tar-current-descriptor descriptor tokens 0 name 4 size 7 link-p tar-header-offset -1 start end error "This is a %s, not a real file." 5 "directory" 20 "tar directory header" 29 "multivolume-continuation" 35 "sparse entry" 38 "volume header" "link" "This is a zero-length file." tar-buffer file-name-nondirectory bufname " (in " buffer-file-name ")" bufid buffer-read-only read-only-p nil buffer buffer-list buffers just-created boundp superior-tar-descriptor generate-new-buffer t ((narrow-to-region 1 tar-header-offset)) insert-buffer-substring lock-directory set-visited-file-name normal-mode run-hooks find-file-hooks make-local-variable superior-tar-buffer mode-line-buffer-identification tar-subfile-buffer-id subfile-orig-mlbid n ms string-match "%\\([0-9]+\\)b\\'" 1 read-from-string "%b" "Emacs: " 17 tar-subfile-mode set-buffer-modified-p view-buffer-other-window view-kill-on-exit switch-to-buffer-other-window switch-to-buffer] 6 "\
*In tar-mode, extract this entry of the tar file into its own buffer." nil])
(fset 'tar-extract-other-window #[nil "ÀÁ!‡" [tar-extract t] 2 "\
*In tar-mode, extract this entry of the tar file into its own buffer." nil])
(fset 'tar-view #[nil "ÀÁ!‡" [tar-extract view] 2 "\
*In tar-mode, view the tar file entry on this line." nil])
(fset 'tar-read-file-name #[(&optional prompt) "¬‚ÁÂÃ AÄH!ÂÆÇ!È$!	Ê	!Ë˜¬†Ì	!«™ÍÎ	\"«‰	Ä‰•SOª‚	ÏÊ!Q		*‡" [prompt "Copy to: " expand-file-name tar-current-descriptor 0 default-file read-file-name file-name-directory nil target file-name-nondirectory "" file-directory-p string-match "/$" "/"] 6 "\
Calls read-file-name, with the default being the file of the current
tar-file descriptor."])
(fset 'tar-copy #[(&optional to-file) "À ‰A‰ÃH\nÅH\nÇH	@	Ê\\\\‰\\«„ÍÎ!ˆÃU«„ÍÏ!ˆpÑÓŽÔÕ!~ˆŠqˆÖ#ˆ×Ñ!ˆØ!ˆÚÛ#ˆq.‡" [tar-current-descriptor descriptor tokens 0 name 4 size 7 link-p tar-header-offset -1 start end error "This is a link, not a real file." "This is a zero-length file." tar-buffer nil buffer ((byte-code "À	}ˆ\n«„Ã\n!ˆÀ‡" [1 tar-header-offset buffer kill-buffer] 2)) generate-new-buffer "*tar-copy-tmp*" insert-buffer-substring set-buffer-modified-p write-file to-file message "Copied tar entry %s to %s"] 5 "\
*In tar-mode, extract this entry of the tar file into a file on disk.
If TO-FILE is not supplied, it is prompted for, defaulting to the name of
the current tar-entry." (byte-code "À C‡" [tar-read-file-name] 1)])
(fset 'tar-flag-deleted #[(p &optional unflag) "Àyˆ	ÀW«„	[ª�	À\nW«£Ä!«�ÆÇ!ˆ«ƒÈª�Écˆ	ÀW«ƒÊª�Çyˆ\nT‰ªY*m?­‚Ëu‡" [0 p i _dotimes_end_ tar-current-descriptor unflag delete-char 1 " " "D" -1 36] 3 "\
*In tar mode, mark this sub-file to be deleted from the tar file.
With a prefix argument, mark that many files." "p"])
(fset 'tar-unflag #[(p) "À	Â\"‡" [tar-flag-deleted p t] 3 "\
*In tar mode, un-mark this sub-file if it is marked to be deleted.
With a prefix argument, un-mark that many files forward." "p"])
(fset 'tar-unflag-backwards #[(p) "À	[Â\"‡" [tar-flag-deleted p t] 3 "\
*In tar mode, un-mark this sub-file if it is marked to be deleted.
With a prefix argument, un-mark that many files backward." "p"])
(fset 'tar-expunge-internal #[nil "À ‰A	@\nÄH\nÆH\nÈH		@\n	>A	«ƒÄÄyˆ`ÎˆÎuˆ`Z`|ˆZ*Ñ	\"~ˆ\nÒ\\\\‰Ô‰Õ\\Ö\"×\"Ø\\\\|ˆZ«•@‰‰@Z ˆA)ªg.Ý}‡" [tar-current-descriptor descriptor tokens line 0 name 4 size 7 link-p start tar-parse-info following-descs line-start nil line-len tar-header-offset delq -513 data-start ash 511 -9 9 512 data-end data-length _dolist_iterator_ desc 1] 6 "\
Expunge the tar-entry specified by the current line."])
(fset 'tar-expunge #[(&optional noconfirm) "¬…ÁÂ!­³ÃŠÃbˆm¬’ÅÆ!«ˆÇ ˆTªpÈyˆªkÉ ˆÈ\n}ˆ)ÃU«…ËÌ!ª„ËÍ\")‡" [noconfirm y-or-n-p "expunge files marked for deletion? " 0 n looking-at "D" tar-expunge-internal 1 tar-pad-to-blocksize tar-header-offset message "nothing to expunge." "%s expunged.  Be sure to save this buffer."] 3 "\
*In tar-mode, delete all the archived files flagged for deletion.
This does not modify the disk image; you must save the tar file itself
for this to be permanent." nil])
(fset 'tar-clear-modification-flags #[nil "ŠÀbˆ`	W­‘ÂÃ!«‡ÄÅ!ˆÆcˆÅyˆªj)‡" [0 tar-header-offset looking-at "*" delete-char 1 " "] 2 "\
remove the stars at the beginning of each line."])
(fset 'tar-chown-entry #[(new-uid) ";«ŽÁ AÂIˆÃÅP\"‡Á AÆIˆÃÈÉ\"ÊËOÌP\"‡" [new-uid tar-current-descriptor 10 tar-alter-one-field tar-uname-offset " " 2 tar-uid-offset format "%6o" 0 6 "  "] 5 "\
*Change the user-id associated with this entry in the tar file.
If this tar file was written by GNU tar, then you will be able to edit
the user id as a string; otherwise, you must edit it as a number.
You can force editing as a number by calling this with a prefix arg.
This does not modify the disk image; you must save the tar file itself
for this to be permanent." (byte-code "À A\n¬…	ÃH¬”ÄÆÇÈÉ	ÊH\"\"‰§«r)ª†ËÌ	ÍH\")C‡" [tar-current-descriptor tokens current-prefix-arg 9 nil n read-minibuffer "New UID number: " format "%s" 2 read-string "New UID string: " 10] 6)])
(fset 'tar-chgrp-entry #[(new-gid) ";«ŽÁ AÂIˆÃÅP\"‡Á AÆIˆÃÈÉ\"ÊËOÌP\"‡" [new-gid tar-current-descriptor 11 tar-alter-one-field tar-gname-offset " " 3 tar-gid-offset format "%6o" 0 6 "  "] 5 "\
*Change the group-id associated with this entry in the tar file.
If this tar file was written by GNU tar, then you will be able to edit
the group id as a string; otherwise, you must edit it as a number.
You can force editing as a number by calling this with a prefix arg.
This does not modify the disk image; you must save the tar file itself
for this to be permanent." (byte-code "À A\n¬…	ÃH¬”ÄÆÇÈÉ	ÊH\"\"‰§«r)ª†ËÌ	ÍH\")C‡" [tar-current-descriptor tokens current-prefix-arg 9 nil n read-minibuffer "New GID number: " format "%s" 3 read-string "New GID string: " 11] 6)])
(fset 'tar-rename-entry #[(new-name) "Á˜«„ÂÃ!ˆGÄV«„ÂÅ!ˆÆ AÇIˆÈÇÉÊÇ\"PÇÊO\"‡" [new-name "" error "zero length name." 98 "name too long." tar-current-descriptor 0 tar-alter-one-field make-string 99] 6 "\
*Change the name associated with this entry in the tar file.
This does not modify the disk image; you must save the tar file itself
for this to be permanent." (byte-code "ÀÁÂ AÃH\"C‡" [read-string "New name: " tar-current-descriptor 0] 4)])
(fset 'tar-chmod-entry #[(new-mode) "À AÁ\nIˆÃÅÆ\n\"ÇÈOÉP\"‡" [tar-current-descriptor 1 new-mode tar-alter-one-field tar-mode-offset format "%6o" 0 6 "  "] 5 "\
*Change the protection bits associated with this entry in the tar file.
This does not modify the disk image; you must save the tar file itself
for this to be permanent." (byte-code "ÀÁÂ!!C‡" [tar-parse-octal-integer-safe read-string "New protection (octal): "] 3)])
(fset 'tar-alter-one-field #[(data-position new-data-string) "À ‰AÃŽŠÄyˆ`Æyˆ`|ˆÇ\n!È±ˆd	)~ˆ	@	Ê\\\\‰\\bˆ``G\\|ˆcˆÎ‰Ï\\{!\\bˆ``Ò\\|ˆÓÔ\"cˆÄcˆÕcˆ\nÖIˆ×‰Ï\\{\nÄH#.‡" [tar-current-descriptor descriptor tokens ((narrow-to-region 1 tar-header-offset)) 0 p 1 summarize-tar-header-block "\n" tar-header-offset -513 start data-position new-data-string checksum-tar-header-block 512 chk tar-chk-offset 8 format "%6o" 32 6 check-tar-header-block-checksum] 6])
(fset 'tar-subfile-save-buffer #[nil "«„ÁÂ!‡Ã ‡" [buffer-file-name call-interactively save-buffer tar-subfile-save-buffer-internal] 2 "\
In tar subfile mode, write this buffer back into its parent tar-file buffer.
This doesn't write anything to disk - you must save the parent tar-file buffer
to make your changes permanent." nil])
(fset 'tar-subfile-save-buffer-internal #[nil "ÀÁ!«ƒ	¬„ÂÃ!ˆÄ	!¬„ÂÅ!ˆÀÆ!«„¬„ÂÇ!ˆÀÈ!«ˆ«„ÂÉ!ˆÀÊ!«ˆ\n«„ÂË!ˆÀÌ!«ˆ«„ÂÍ!ˆÀÎ!«ˆ«„ÂÏ!ˆÀÐ!«ˆ«„ÂÑ!ˆŠpÒ 	qˆA@ØHÚHÜ‰Ý\\Þ\"ß\" !>‰\"A#\"¬„Âä!ˆåŽŠ~ˆ&ç\\\\‰(Ü‰Ý\\Þ\"ß\"\\)()|ˆ(bˆê!ˆÜ‰Ý\\Þ\"ß\"+(\\bˆì+ZØ\"cˆÚIˆ+ Z-#..«•.@‰/‰@-\\ ˆ.A.)ªg*(ðZ‰12\\bˆ``ó\\|ˆôõ\"cˆöcˆ7«þ18\\bˆ``ó\\|ˆù‰‰:;<ýþ!«Šþ ‰<‰A@¡ˆ<@;<A:<«ºÿ<Iˆ�@ Ü�A ;�B \"�C \":\":Ü;�D \";ô�E ;\"cˆô�F :\"cˆª�ô�G Ø\"cˆÿØ‰BIˆ+�H 1({!I1J\\bˆ``�K \\|ˆô�L I\"cˆØcˆöcˆ�M IIˆ*!G\"GZN�O bˆ�P N!ˆØyˆ`�Q  &ù“RS�O yˆS`|ˆ�T �U �V \"�W \"ˆ�X R!&.�Y  ˆ.	�Z �V !ˆqˆ�Z ù!ˆ�[ �\\ Ä	!\",‡" [boundp superior-tar-buffer error "this buffer has no superior tar file buffer." buffer-name "the superior tar file's buffer has been killed." superior-tar-descriptor "this buffer doesn't have an index into its superior tar file!" crypt-buffer-save-encrypted "Don't know how to encrypt back into a tar file." crypt-buffer-save-compact "Don't know how to compact back into a tar file." crypt-buffer-save-compress "Don't know how to compress back into a tar file." crypt-buffer-save-gzip "Don't know how to gzip back into a tar file." crypt-buffer-save-freeze "Don't know how to freeze back into a tar file." buffer-size descriptor subfile-size subfile tokens start 0 name 4 size ash 511 -9 9 size-pad tar-parse-info head following-descs "Can't find this tar file entry in its parent tar file!" ((narrow-to-region 1 tar-header-offset)) tar-header-offset -1 data-start data-end insert-buffer subfile-size-pad make-string difference _dolist_iterator_ desc 512 header-start tar-size-offset 12 format "%11o" 32 tar-update-datestamp tar-time-offset nil bot top now fboundp current-time 5 logior logand 3 16 -2 "%5o" "%06o " "%11o " checksum-tar-header-block chk tar-chk-offset 8 "%6o" 6 position 1 next-line make-marker m p insert-before-markers summarize-tar-header-block t "\n" marker-position tar-pad-to-blocksize set-buffer-modified-p message "saved into tar-buffer \"%s\" - remember to save that buffer!"] 6])
(fset 'tar-pad-to-blocksize #[nil "??­ñ~ˆ	GS	8‰@\nA‰ÅH‰«ƒÇªƒÈH		\\\nËÌ\"‰‰\nS¥_\\Ï®�Ç\n\\bˆÒ T®�Ç\\V«Ž®�Ç\\Ò T|ª�Ó®�Ç\\Ò TZÇ\"c.	‡" [tar-anal-blocksize tar-parse-info last-desc start tokens 7 link-p 0 4 size data-end ash 9 bbytes pad-to nil buffer-read-only tar-header-offset buffer-size make-string] 5 "\
If we are being anal about tar file blocksizes, fix up the current buffer.
Leaves the region wide."])
(fset 'maybe-write-tar-file #[nil "Á=­ïÂÃ!­ê­çÄÅ\"«„ÇJª�È™«ˆÉ\n\"ª‚Ì>AÎÎŠŒ~ˆÑ ˆÒ{Ò|ˆÓŽ«‘@ ‰¬ˆA‰¬o¬ŽÔÒÕ TÎ×%ˆ×+,‡" [major-mode tar-mode boundp tar-header-offset string-match "Lucid" emacs-version hooks "19" append write-contents-hooks write-file-hooks maybe-write-tar-file remaining-hooks nil header-string done tar-clear-modification-flags 1 ((byte-code "Àbˆ	cˆÂÃ!‡" [1 header-string set-buffer-modified-p nil] 2)) write-region buffer-size buffer-file-name t] 7 "\
Used as a write-file-hook to write tar-files out correctly."])
(defvar tar-regexp "\\.tar$" "\
The regular expression used to identify tar file names.")
(byte-code "ÁB\nBÃÄÅ\"ˆÆÇ!«‡ÃÇÈ\"ˆª�ÆÉ!«‡ÃÉÈ\"ˆª„ÊË!ˆÁ‡" [tar-regexp tar-mode auto-mode-alist add-hook write-file-hooks maybe-write-tar-file boundp after-save-hook tar-subfile-after-write-file-hook after-write-file-hooks error "neither after-save-hook nor after-write-file-hooks?"] 3)
(fset 'tar-normal-mode #[(&optional find-file) "«‰Á\n\"«ƒÃ ‡Ä!‡" [buffer-file-name string-match tar-regexp tar-mode tar-real-normal-mode find-file] 3 "\
Choose the major mode for this buffer automatically.
Also sets up any specified local variables of the file.
Uses the visited file name, the -*- line, and the local variables spec.

This function is called automatically from `find-file'.  In that case,
if `inhibit-local-variables' is non-`nil' we require confirmation before
processing a local variables spec.  If you run `normal-mode' explicitly,
confirmation is never required.

Note that this version of this function has been hacked to interact
correctly with tar files - when visiting a file which matches
'tar-regexp', the -*- line and local-variables are not examined,
as they would apply to a file within the archive rather than the archive
itself." nil])
(fset 'tar-set-auto-mode #[nil "«‰Á\n\"«ƒÃ ‡Ä ‡" [buffer-file-name string-match tar-regexp tar-mode tar-real-set-auto-mode] 3 "\
Select major mode appropriate for current buffer.
May base decision on visited file name (See variable  auto-mode-list)
or on buffer contents (-*- line or local variables spec), but does not look
for the \"mode:\" local variable.  For that, use  hack-local-variables.

Note that this version of this function has been hacked to interact
correctly with tar files - when visiting a file which matches
'tar-regexp', the -*- line and local-variables are not examined,
as they would apply to a file within the archive rather than the archive
itself." nil])
(byte-code "ÀÁ!¬…ÁÂKMˆÂÃMˆÀÄ!¬…ÄÅKMˆÅÆMˆÇÈ!‡" [fboundp tar-real-normal-mode normal-mode tar-normal-mode tar-real-set-auto-mode set-auto-mode tar-set-auto-mode provide tar-mode] 2)
