PNG  IHDRQgAMA a cHRMz&u0`:pQ<bKGDgmIDATxwUﹻ& ^CX(J I@ "% (** BX +*i"]j(IH{~R)[~>h{}gy)I$Ij .I$I$ʊy@}x.: $I$Ii}VZPC)I$IF ^0ʐJ$I$Q^}{"r=OzI$gRZeC.IOvH eKX $IMpxsk.쒷/&r[޳<v| .I~)@$updYRa$I |M.e JaֶpSYR6j>h%IRز if&uJ)M$I vLi=H;7UJ,],X$I1AҒJ$ XY XzI@GNҥRT)E@;]K*Mw;#5_wOn~\ DC&$(A5 RRFkvIR}l!RytRl;~^ǷJj اy뷦BZJr&ӥ8Pjw~vnv X^(I;4R=P[3]J,]ȏ~:3?[ a&e)`e*P[4]T=Cq6R[ ~ޤrXR Հg(t_HZ-Hg M$ãmL5R uk*`%C-E6/%[t X.{8P9Z.vkXŐKjgKZHg(aK9ڦmKjѺm_ \#$5,)-  61eJ,5m| r'= &ڡd%-]J on Xm|{ RҞe $eڧY XYrԮ-a7RK6h>n$5AVڴi*ֆK)mѦtmr1p| q:흺,)Oi*ֺK)ܬ֦K-5r3>0ԔHjJئEZj,%re~/z%jVMڸmrt)3]J,T K֦OvԒgii*bKiNO~%PW0=dii2tJ9Jݕ{7"I P9JKTbu,%r"6RKU}Ij2HKZXJ,妝 XYrP ެ24c%i^IK|.H,%rb:XRl1X4Pe/`x&P8Pj28Mzsx2r\zRPz4J}yP[g=L) .Q[6RjWgp FIH*-`IMRaK9TXcq*I y[jE>cw%gLRԕiFCj-ďa`#e~I j,%r,)?[gp FI˨mnWX#>mʔ XA DZf9,nKҲzIZXJ,L#kiPz4JZF,I,`61%2s $,VOϚ2/UFJfy7K> X+6 STXIeJILzMfKm LRaK9%|4p9LwJI!`NsiazĔ)%- XMq>pk$-$Q2x#N ؎-QR}ᶦHZډ)J,l#i@yn3LN`;nڔ XuX5pF)m|^0(>BHF9(cզEerJI rg7 4I@z0\JIi䵙RR0s;$s6eJ,`n 䂦0a)S)A 1eJ,堌#635RIgpNHuTH_SԕqVe ` &S)>p;S$魁eKIuX`I4춒o}`m$1":PI<[v9^\pTJjriRŭ P{#{R2,`)e-`mgj~1ϣLKam7&U\j/3mJ,`F;M'䱀 .KR#)yhTq;pcK9(q!w?uRR,n.yw*UXj#\]ɱ(qv2=RqfB#iJmmL<]Y͙#$5 uTU7ӦXR+q,`I}qL'`6Kͷ6r,]0S$- [RKR3oiRE|nӦXR.(i:LDLTJjY%o:)6rxzҒqTJjh㞦I.$YR.ʼnGZ\ֿf:%55 I˼!6dKxm4E"mG_ s? .e*?LRfK9%q#uh$)i3ULRfK9yxm܌bj84$i1U^@Wbm4uJ,ҪA>_Ij?1v32[gLRD96oTaR׿N7%L2 NT,`)7&ƝL*꽙yp_$M2#AS,`)7$rkTA29_Iye"|/0t)$n XT2`YJ;6Jx".e<`$) PI$5V4]29SRI>~=@j]lp2`K9Jaai^" Ԋ29ORI%:XV5]JmN9]H;1UC39NI%Xe78t)a;Oi Ҙ>Xt"~G>_mn:%|~ޅ_+]$o)@ǀ{hgN;IK6G&rp)T2i୦KJuv*T=TOSV>(~D>dm,I*Ɛ:R#ۙNI%D>G.n$o;+#RR!.eU˽TRI28t)1LWϚ>IJa3oFbu&:tJ*(F7y0ZR ^p'Ii L24x| XRI%ۄ>S1]Jy[zL$adB7.eh4%%누>WETf+3IR:I3Xה)3אOۦSRO'ٺ)S}"qOr[B7ϙ.edG)^ETR"RtRݜh0}LFVӦDB^k_JDj\=LS(Iv─aTeZ%eUAM-0;~˃@i|l @S4y72>sX-vA}ϛBI!ݎߨWl*)3{'Y|iSlEڻ(5KtSI$Uv02,~ԩ~x;P4ցCrO%tyn425:KMlD ^4JRxSهF_}شJTS6uj+ﷸk$eZO%G*^V2u3EMj3k%)okI]dT)URKDS 7~m@TJR~荪fT"֛L \sM -0T KfJz+nإKr L&j()[E&I ߴ>e FW_kJR|!O:5/2跌3T-'|zX ryp0JS ~^F>-2< `*%ZFP)bSn"L :)+pʷf(pO3TMW$~>@~ū:TAIsV1}S2<%ޟM?@iT ,Eūoz%i~g|`wS(]oȤ8)$ ntu`өe`6yPl IzMI{ʣzʨ )IZ2= ld:5+請M$-ї;U>_gsY$ÁN5WzWfIZ)-yuXIfp~S*IZdt;t>KūKR|$#LcԀ+2\;kJ`]YǔM1B)UbG"IRߊ<xܾӔJ0Z='Y嵤 Leveg)$znV-º^3Ւof#0Tfk^Zs[*I꯳3{)ˬW4Ւ4 OdpbZRS|*I 55#"&-IvT&/윚Ye:i$ 9{LkuRe[I~_\ؠ%>GL$iY8 9ܕ"S`kS.IlC;Ҏ4x&>u_0JLr<J2(^$5L s=MgV ~,Iju> 7r2)^=G$1:3G< `J3~&IR% 6Tx/rIj3O< ʔ&#f_yXJiގNSz; Tx(i8%#4 ~AS+IjerIUrIj362v885+IjAhK__5X%nV%Iͳ-y|7XV2v4fzo_68"S/I-qbf; LkF)KSM$ Ms>K WNV}^`-큧32ŒVؙGdu,^^m%6~Nn&͓3ŒVZMsRpfEW%IwdǀLm[7W&bIRL@Q|)* i ImsIMmKmyV`i$G+R 0tV'!V)֏28vU7͒vHꦼtxꗞT ;S}7Mf+fIRHNZUkUx5SAJㄌ9MqμAIRi|j5)o*^'<$TwI1hEU^c_j?Е$%d`z cyf,XO IJnTgA UXRD }{H}^S,P5V2\Xx`pZ|Yk:$e ~ @nWL.j+ϝYb퇪bZ BVu)u/IJ_ 1[p.p60bC >|X91P:N\!5qUB}5a5ja `ubcVxYt1N0Zzl4]7­gKj]?4ϻ *[bg$)+À*x쳀ogO$~,5 زUS9 lq3+5mgw@np1sso Ӻ=|N6 /g(Wv7U;zωM=wk,0uTg_`_P`uz?2yI!b`kĸSo+Qx%!\οe|އԁKS-s6pu_(ֿ$i++T8=eY; צP+phxWQv*|p1. ά. XRkIQYP,drZ | B%wP|S5`~́@i޾ E;Չaw{o'Q?%iL{u D?N1BD!owPHReFZ* k_-~{E9b-~P`fE{AܶBJAFO wx6Rox5 K5=WwehS8 (JClJ~ p+Fi;ŗo+:bD#g(C"wA^ r.F8L;dzdIHUX݆ϞXg )IFqem%I4dj&ppT{'{HOx( Rk6^C٫O.)3:s(۳(Z?~ٻ89zmT"PLtw䥈5&b<8GZ-Y&K?e8,`I6e(֍xb83 `rzXj)F=l($Ij 2*(F?h(/9ik:I`m#p3MgLaKjc/U#n5S# m(^)=y=đx8ŬI[U]~SцA4p$-F i(R,7Cx;X=cI>{Km\ o(Tv2vx2qiiDJN,Ҏ!1f 5quBj1!8 rDFd(!WQl,gSkL1Bxg''՞^ǘ;pQ P(c_ IRujg(Wz bs#P­rz> k c&nB=q+ؔXn#r5)co*Ũ+G?7< |PQӣ'G`uOd>%Mctz# Ԫڞ&7CaQ~N'-P.W`Oedp03C!IZcIAMPUۀ5J<\u~+{9(FbbyAeBhOSܳ1 bÈT#ŠyDžs,`5}DC-`̞%r&ڙa87QWWp6e7 Rϫ/oY ꇅ Nܶըtc!LA T7V4Jsū I-0Pxz7QNF_iZgúWkG83 0eWr9 X]㾮݁#Jˢ C}0=3ݱtBi]_ &{{[/o[~ \q鯜00٩|cD3=4B_b RYb$óBRsf&lLX#M*C_L܄:gx)WΘsGSbuL rF$9';\4Ɍq'n[%p.Q`u hNb`eCQyQ|l_C>Lb꟟3hSb #xNxSs^ 88|Mz)}:](vbۢamŖ࿥ 0)Q7@0=?^k(*J}3ibkFn HjB׻NO z x}7p 0tfDX.lwgȔhԾŲ }6g E |LkLZteu+=q\Iv0쮑)QٵpH8/2?Σo>Jvppho~f>%bMM}\//":PTc(v9v!gոQ )UfVG+! 35{=x\2+ki,y$~A1iC6#)vC5^>+gǵ@1Hy٪7u;p psϰu/S <aʸGu'tD1ԝI<pg|6j'p:tպhX{o(7v],*}6a_ wXRk,O]Lܳ~Vo45rp"N5k;m{rZbΦ${#)`(Ŵg,;j%6j.pyYT?}-kBDc3qA`NWQū20/^AZW%NQ MI.X#P#,^Ebc&?XR tAV|Y.1!؅⨉ccww>ivl(JT~ u`ٵDm q)+Ri x/x8cyFO!/*!/&,7<.N,YDŽ&ܑQF1Bz)FPʛ?5d 6`kQձ λc؎%582Y&nD_$Je4>a?! ͨ|ȎWZSsv8 j(I&yj Jb5m?HWp=g}G3#|I,5v珿] H~R3@B[☉9Ox~oMy=J;xUVoj bUsl_35t-(ՃɼRB7U!qc+x4H_Qo֮$[GO<4`&č\GOc[.[*Af%mG/ ňM/r W/Nw~B1U3J?P&Y )`ѓZ1p]^l“W#)lWZilUQu`-m|xĐ,_ƪ|9i:_{*(3Gѧ}UoD+>m_?VPۅ15&}2|/pIOʵ> GZ9cmíتmnz)yߐbD >e}:) r|@R5qVSA10C%E_'^8cR7O;6[eKePGϦX7jb}OTGO^jn*媓7nGMC t,k31Rb (vyܴʭ!iTh8~ZYZp(qsRL ?b}cŨʊGO^!rPJO15MJ[c&~Z`"ѓޔH1C&^|Ш|rʼ,AwĴ?b5)tLU)F| &g٣O]oqSUjy(x<Ϳ3 .FSkoYg2 \_#wj{u'rQ>o;%n|F*O_L"e9umDds?.fuuQbIWz |4\0 sb;OvxOSs; G%T4gFRurj(֍ڑb uԖKDu1MK{1^ q; C=6\8FR艇!%\YÔU| 88m)֓NcLve C6z;o&X x59:q61Z(T7>C?gcļxѐ Z oo-08jہ x,`' ҔOcRlf~`jj".Nv+sM_]Zk g( UOPyεx%pUh2(@il0ݽQXxppx-NS( WO+轾 nFߢ3M<;z)FBZjciu/QoF 7R¥ ZFLF~#ȣߨ^<쩡ݛкvџ))ME>ώx4m#!-m!L;vv#~Y[đKmx9.[,UFS CVkZ +ߟrY٧IZd/ioi$%͝ب_ֶX3ܫhNU ZZgk=]=bbJS[wjU()*I =ώ:}-蹞lUj:1}MWm=̛ _ ¾,8{__m{_PVK^n3esw5ӫh#$-q=A̟> ,^I}P^J$qY~Q[ Xq9{#&T.^GVj__RKpn,b=`żY@^՝;z{paVKkQXj/)y TIc&F;FBG7wg ZZDG!x r_tƢ!}i/V=M/#nB8 XxЫ ^@CR<{䤭YCN)eKOSƟa $&g[i3.C6xrOc8TI;o hH6P&L{@q6[ Gzp^71j(l`J}]e6X☉#͕ ׈$AB1Vjh㭦IRsqFBjwQ_7Xk>y"N=MB0 ,C #o6MRc0|$)ف"1!ixY<B9mx `,tA>)5ػQ?jQ?cn>YZe Tisvh# GMމȇp:ԴVuږ8ɼH]C.5C!UV;F`mbBk LTMvPʍϤj?ԯ/Qr1NB`9s"s TYsz &9S%U԰> {<ؿSMxB|H\3@!U| k']$U+> |HHMLޢ?V9iD!-@x TIî%6Z*9X@HMW#?nN ,oe6?tQwڱ.]-y':mW0#!J82qFjH -`ѓ&M0u Uγmxϵ^-_\])@0Rt.8/?ٰCY]x}=sD3ojަЫNuS%U}ԤwHH>ڗjܷ_3gN q7[q2la*ArǓԖ+p8/RGM ]jacd(JhWko6ڎbj]i5Bj3+3!\j1UZLsLTv8HHmup<>gKMJj0@H%,W΃7R) ">c, xixј^ aܖ>H[i.UIHc U1=yW\=S*GR~)AF=`&2h`DzT󑓶J+?W+}C%P:|0H܆}-<;OC[~o.$~i}~HQ TvXΈr=b}$vizL4:ȰT|4~*!oXQR6Lk+#t/g lԁߖ[Jڶ_N$k*". xsxX7jRVbAAʯKҎU3)zSNN _'s?f)6X!%ssAkʱ>qƷb hg %n ~p1REGMHH=BJiy[<5 ǁJҖgKR*倳e~HUy)Ag,K)`Vw6bRR:qL#\rclK/$sh*$ 6덤 KԖc 3Z9=Ɣ=o>X Ώ"1 )a`SJJ6k(<c e{%kϊP+SL'TcMJWRm ŏ"w)qc ef꒵i?b7b('"2r%~HUS1\<(`1Wx9=8HY9m:X18bgD1u ~|H;K-Uep,, C1 RV.MR5άh,tWO8WC$ XRVsQS]3GJ|12 [vM :k#~tH30Rf-HYݺ-`I9%lIDTm\ S{]9gOڒMNCV\G*2JRŨ;Rҏ^ڽ̱mq1Eu?To3I)y^#jJw^Ńj^vvlB_⋌P4x>0$c>K†Aļ9s_VjTt0l#m>E-,,x,-W)سo&96RE XR.6bXw+)GAEvL)͞K4$p=Ũi_ѱOjb HY/+@θH9޼]Nԥ%n{ &zjT? Ty) s^ULlb,PiTf^<À] 62R^V7)S!nllS6~͝V}-=%* ʻ>G DnK<y&>LPy7'r=Hj 9V`[c"*^8HpcO8bnU`4JȪAƋ#1_\ XϘHPRgik(~G~0DAA_2p|J묭a2\NCr]M_0 ^T%e#vD^%xy-n}-E\3aS%yN!r_{ )sAw ڼp1pEAk~v<:`'ӭ^5 ArXOI驻T (dk)_\ PuA*BY]yB"l\ey hH*tbK)3 IKZ򹞋XjN n *n>k]X_d!ryBH ]*R 0(#'7 %es9??ښFC,ՁQPjARJ\Ρw K#jahgw;2$l*) %Xq5!U᢯6Re] |0[__64ch&_}iL8KEgҎ7 M/\`|.p,~`a=BR?xܐrQ8K XR2M8f ?`sgWS%" Ԉ 7R%$ N}?QL1|-эټwIZ%pvL3Hk>,ImgW7{E xPHx73RA @RS CC !\ȟ5IXR^ZxHл$Q[ŝ40 (>+ _C >BRt<,TrT {O/H+˟Pl6 I B)/VC<6a2~(XwV4gnXR ϱ5ǀHٻ?tw똤Eyxp{#WK qG%5],(0ӈH HZ])ג=K1j&G(FbM@)%I` XRg ʔ KZG(vP,<`[ Kn^ SJRsAʠ5xՅF`0&RbV tx:EaUE/{fi2;.IAwW8/tTxAGOoN?G}l L(n`Zv?pB8K_gI+ܗ #i?ޙ.) p$utc ~DžfՈEo3l/)I-U?aԅ^jxArA ΧX}DmZ@QLےbTXGd.^|xKHR{|ΕW_h] IJ`[G9{).y) 0X YA1]qp?p_k+J*Y@HI>^?gt.06Rn ,` ?);p pSF9ZXLBJPWjgQ|&)7! HjQt<| ؅W5 x W HIzYoVMGP Hjn`+\(dNW)F+IrS[|/a`K|ͻ0Hj{R,Q=\ (F}\WR)AgSG`IsnAR=|8$}G(vC$)s FBJ?]_u XRvύ6z ŨG[36-T9HzpW̞ú Xg큽=7CufzI$)ki^qk-) 0H*N` QZkk]/tnnsI^Gu't=7$ Z;{8^jB% IItRQS7[ϭ3 $_OQJ`7!]W"W,)Iy W AJA;KWG`IY{8k$I$^%9.^(`N|LJ%@$I}ֽp=FB*xN=gI?Q{٥4B)mw $Igc~dZ@G9K X?7)aK%݅K$IZ-`IpC U6$I\0>!9k} Xa IIS0H$I H ?1R.Чj:4~Rw@p$IrA*u}WjWFPJ$I➓/6#! LӾ+ X36x8J |+L;v$Io4301R20M I$-E}@,pS^ޟR[/s¹'0H$IKyfŸfVOπFT*a$I>He~VY/3R/)>d$I>28`Cjw,n@FU*9ttf$I~<;=/4RD~@ X-ѕzἱI$: ԍR a@b X{+Qxuq$IЛzo /~3\8ڒ4BN7$IҀj V]n18H$IYFBj3̵̚ja pp $Is/3R Ӻ-Yj+L;.0ŔI$Av? #!5"aʄj}UKmɽH$IjCYs?h$IDl843.v}m7UiI=&=0Lg0$I4: embe` eQbm0u? $IT!Sƍ'-sv)s#C0:XB2a w I$zbww{."pPzO =Ɔ\[ o($Iaw]`E).Kvi:L*#gР7[$IyGPI=@R 4yR~̮´cg I$I/<tPͽ hDgo 94Z^k盇΄8I56^W$I^0̜N?4*H`237}g+hxoq)SJ@p|` $I%>-hO0eO>\ԣNߌZD6R=K ~n($I$y3D>o4b#px2$yڪtzW~a $I~?x'BwwpH$IZݑnC㧄Pc_9sO gwJ=l1:mKB>Ab<4Lp$Ib o1ZQ@85b̍ S'F,Fe,^I$IjEdù{l4 8Ys_s Z8.x m"+{~?q,Z D!I$ϻ'|XhB)=…']M>5 rgotԎ 獽PH$IjIPhh)n#cÔqA'ug5qwU&rF|1E%I$%]!'3AFD/;Ck_`9 v!ٴtPV;x`'*bQa w I$Ix5 FC3D_~A_#O݆DvV?<qw+I$I{=Z8".#RIYyjǪ=fDl9%M,a8$I$Ywi[7ݍFe$s1ՋBVA?`]#!oz4zjLJo8$I$%@3jAa4(o ;p,,dya=F9ً[LSPH$IJYЉ+3> 5"39aZ<ñh!{TpBGkj}Sp $IlvF.F$I z< '\K*qq.f<2Y!S"-\I$IYwčjF$ w9 \ߪB.1v!Ʊ?+r:^!I$BϹB H"B;L'G[ 4U#5>੐)|#o0aڱ$I>}k&1`U#V?YsV x>{t1[I~D&(I$I/{H0fw"q"y%4 IXyE~M3 8XψL}qE$I[> nD?~sf ]o΁ cT6"?'_Ἣ $I>~.f|'!N?⟩0G KkXZE]ޡ;/&?k OۘH$IRۀwXӨ<7@PnS04aӶp.:@\IWQJ6sS%I$e5ڑv`3:x';wq_vpgHyXZ 3gЂ7{{EuԹn±}$I$8t;b|591nءQ"P6O5i }iR̈́%Q̄p!I䮢]O{H$IRϻ9s֧ a=`- aB\X0"+5"C1Hb?߮3x3&gşggl_hZ^,`5?ߎvĸ%̀M!OZC2#0x LJ0 Gw$I$I}<{Eb+y;iI,`ܚF:5ܛA8-O-|8K7s|#Z8a&><a&/VtbtLʌI$I$I$I$I$I$IRjDD%tEXtdate:create2022-05-31T04:40:26+00:00!Î%tEXtdate:modify2022-05-31T04:40:26+00:00|{2IENDB`Mini Shell

HOME


Mini Shell 1.0
DIR:/proc/self/root/usr/share/emacs/26.1/lisp/
Upload File :
Current File : //proc/self/root/usr/share/emacs/26.1/lisp/tar-mode.elc
;ELC
;;; Compiled
;;; in Emacs version 26.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.

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;


(byte-code "\300\301\302\303\304\305\306\307&\210\310\311\312\313\314\315\306\301&\210\310\316\302\317\314\320\306\301&\210\310\321\302\322\314\320\306\301&\207" [custom-declare-group tar nil "Simple editing of tar files." :prefix "tar-" :group data custom-declare-variable tar-anal-blocksize 20 "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 "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 "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."] 8)
(defvar tar-parse-info nil)
#@70 Buffer containing the tar archive from which a member was extracted.
(defvar tar-superior-buffer nil (#$ . 1978))
#@56 Tar descriptor for a member extracted from an archive.
(defvar tar-superior-descriptor nil (#$ . 2098))
(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 (#$ . 2376))
(make-variable-buffer-local 'tar-data-buffer)
#@59 If non-nil, `tar-data-buffer' indeed holds raw tar bytes.
(defvar tar-data-swapped nil (#$ . 2513))
(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 #[nil "\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 (#$ . 2666)])
#@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 #[nil "\304!\304 \305!\210?\306\n!\210rq\210\306	!+\207" [tar-data-buffer current-buffer-modified-p data-buffer-modified-p tar-data-swapped buffer-modified-p buffer-swap-text restore-buffer-modified-p] 2 (#$ . 3057)])
#@45 compiler-macro for inlining `tar-header-p'.
(defalias 'tar-header-p--cmacro #[(_cl-whole-arg cl-x) "\301\302\303\304\211\211&\207" [cl-x 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] 7 (#$ . 3455)])
(put 'tar-header-p 'compiler-macro 'tar-header-p--cmacro)
(defalias 'tar-header-p #[(cl-x) "\302!\205G\303Y\205\304H	>\205\305\207" [cl-x cl-struct-tar-header-tags vectorp 17 0 t] 2])
(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)
#@54 compiler-macro for inlining `tar-header-data-start'.
(defalias 'tar-header-data-start--cmacro #[(_cl-whole-arg cl-x) "\301\302\303\304\211\211&\207" [cl-x cl--defsubst-expand (cl-x) (cl-block tar-header-data-start (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] 7 (#$ . 4104)])
(put 'tar-header-data-start 'compiler-macro 'tar-header-data-start--cmacro)
#@227 Access slot "data-start" of `(tar-header (:constructor nil) (:type vector) :named (:constructor make-tar-header (data-start name mode uid gid size date checksum link-type link-name magic uname gname dmaj dmin)))' struct CL-X.
(defalias 'tar-header-data-start #[(cl-x) "\302H	>\204\303\304\305D\"\210\306H\207" [cl-x cl-struct-tar-header-tags 0 signal wrong-type-argument tar-header 1] 4 (#$ . 4551)])
(byte-code "\300\301\302\303#\300\207" [function-put tar-header-data-start side-effect-free t] 4)
#@48 compiler-macro for inlining `tar-header-name'.
(defalias 'tar-header-name--cmacro #[(_cl-whole-arg cl-x) "\301\302\303\304\211\211&\207" [cl-x cl--defsubst-expand (cl-x) (cl-block tar-header-name (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] 7 (#$ . 5061)])
(put 'tar-header-name 'compiler-macro 'tar-header-name--cmacro)
#@221 Access slot "name" of `(tar-header (:constructor nil) (:type vector) :named (:constructor make-tar-header (data-start name mode uid gid size date checksum link-type link-name magic uname gname dmaj dmin)))' struct CL-X.
(defalias 'tar-header-name #[(cl-x) "\302H	>\204\303\304\305D\"\210\306H\207" [cl-x cl-struct-tar-header-tags 0 signal wrong-type-argument tar-header 2] 4 (#$ . 5478)])
(byte-code "\300\301\302\303#\300\207" [function-put tar-header-name side-effect-free t] 4)
#@48 compiler-macro for inlining `tar-header-mode'.
(defalias 'tar-header-mode--cmacro #[(_cl-whole-arg cl-x) "\301\302\303\304\211\211&\207" [cl-x cl--defsubst-expand (cl-x) (cl-block tar-header-mode (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] 7 (#$ . 5970)])
(put 'tar-header-mode 'compiler-macro 'tar-header-mode--cmacro)
#@221 Access slot "mode" of `(tar-header (:constructor nil) (:type vector) :named (:constructor make-tar-header (data-start name mode uid gid size date checksum link-type link-name magic uname gname dmaj dmin)))' struct CL-X.
(defalias 'tar-header-mode #[(cl-x) "\302H	>\204\303\304\305D\"\210\306H\207" [cl-x cl-struct-tar-header-tags 0 signal wrong-type-argument tar-header 3] 4 (#$ . 6387)])
(byte-code "\300\301\302\303#\300\207" [function-put tar-header-mode side-effect-free t] 4)
#@47 compiler-macro for inlining `tar-header-uid'.
(defalias 'tar-header-uid--cmacro #[(_cl-whole-arg cl-x) "\301\302\303\304\211\211&\207" [cl-x cl--defsubst-expand (cl-x) (cl-block tar-header-uid (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] 7 (#$ . 6879)])
(put 'tar-header-uid 'compiler-macro 'tar-header-uid--cmacro)
#@220 Access slot "uid" of `(tar-header (:constructor nil) (:type vector) :named (:constructor make-tar-header (data-start name mode uid gid size date checksum link-type link-name magic uname gname dmaj dmin)))' struct CL-X.
(defalias 'tar-header-uid #[(cl-x) "\302H	>\204\303\304\305D\"\210\306H\207" [cl-x cl-struct-tar-header-tags 0 signal wrong-type-argument tar-header 4] 4 (#$ . 7291)])
(byte-code "\300\301\302\303#\300\207" [function-put tar-header-uid side-effect-free t] 4)
#@47 compiler-macro for inlining `tar-header-gid'.
(defalias 'tar-header-gid--cmacro #[(_cl-whole-arg cl-x) "\301\302\303\304\211\211&\207" [cl-x cl--defsubst-expand (cl-x) (cl-block tar-header-gid (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] 7 (#$ . 7780)])
(put 'tar-header-gid 'compiler-macro 'tar-header-gid--cmacro)
#@220 Access slot "gid" of `(tar-header (:constructor nil) (:type vector) :named (:constructor make-tar-header (data-start name mode uid gid size date checksum link-type link-name magic uname gname dmaj dmin)))' struct CL-X.
(defalias 'tar-header-gid #[(cl-x) "\302H	>\204\303\304\305D\"\210\306H\207" [cl-x cl-struct-tar-header-tags 0 signal wrong-type-argument tar-header 5] 4 (#$ . 8192)])
(byte-code "\300\301\302\303#\300\207" [function-put tar-header-gid side-effect-free t] 4)
#@48 compiler-macro for inlining `tar-header-size'.
(defalias 'tar-header-size--cmacro #[(_cl-whole-arg cl-x) "\301\302\303\304\211\211&\207" [cl-x cl--defsubst-expand (cl-x) (cl-block tar-header-size (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] 7 (#$ . 8681)])
(put 'tar-header-size 'compiler-macro 'tar-header-size--cmacro)
#@221 Access slot "size" of `(tar-header (:constructor nil) (:type vector) :named (:constructor make-tar-header (data-start name mode uid gid size date checksum link-type link-name magic uname gname dmaj dmin)))' struct CL-X.
(defalias 'tar-header-size #[(cl-x) "\302H	>\204\303\304\305D\"\210\306H\207" [cl-x cl-struct-tar-header-tags 0 signal wrong-type-argument tar-header 6] 4 (#$ . 9098)])
(byte-code "\300\301\302\303#\300\207" [function-put tar-header-size side-effect-free t] 4)
#@48 compiler-macro for inlining `tar-header-date'.
(defalias 'tar-header-date--cmacro #[(_cl-whole-arg cl-x) "\301\302\303\304\211\211&\207" [cl-x cl--defsubst-expand (cl-x) (cl-block tar-header-date (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] 7 (#$ . 9590)])
(put 'tar-header-date 'compiler-macro 'tar-header-date--cmacro)
#@221 Access slot "date" of `(tar-header (:constructor nil) (:type vector) :named (:constructor make-tar-header (data-start name mode uid gid size date checksum link-type link-name magic uname gname dmaj dmin)))' struct CL-X.
(defalias 'tar-header-date #[(cl-x) "\302H	>\204\303\304\305D\"\210\306H\207" [cl-x cl-struct-tar-header-tags 0 signal wrong-type-argument tar-header 7] 4 (#$ . 10007)])
(byte-code "\300\301\302\303#\300\207" [function-put tar-header-date side-effect-free t] 4)
#@52 compiler-macro for inlining `tar-header-checksum'.
(defalias 'tar-header-checksum--cmacro #[(_cl-whole-arg cl-x) "\301\302\303\304\211\211&\207" [cl-x cl--defsubst-expand (cl-x) (cl-block tar-header-checksum (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] 7 (#$ . 10500)])
(put 'tar-header-checksum 'compiler-macro 'tar-header-checksum--cmacro)
#@225 Access slot "checksum" of `(tar-header (:constructor nil) (:type vector) :named (:constructor make-tar-header (data-start name mode uid gid size date checksum link-type link-name magic uname gname dmaj dmin)))' struct CL-X.
(defalias 'tar-header-checksum #[(cl-x) "\302H	>\204\303\304\305D\"\210\306H\207" [cl-x cl-struct-tar-header-tags 0 signal wrong-type-argument tar-header 8] 4 (#$ . 10938)])
(byte-code "\300\301\302\303#\300\207" [function-put tar-header-checksum side-effect-free t] 4)
#@53 compiler-macro for inlining `tar-header-link-type'.
(defalias 'tar-header-link-type--cmacro #[(_cl-whole-arg cl-x) "\301\302\303\304\211\211&\207" [cl-x cl--defsubst-expand (cl-x) (cl-block tar-header-link-type (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] 7 (#$ . 11443)])
(put 'tar-header-link-type 'compiler-macro 'tar-header-link-type--cmacro)
#@226 Access slot "link-type" of `(tar-header (:constructor nil) (:type vector) :named (:constructor make-tar-header (data-start name mode uid gid size date checksum link-type link-name magic uname gname dmaj dmin)))' struct CL-X.
(defalias 'tar-header-link-type #[(cl-x) "\302H	>\204\303\304\305D\"\210\306H\207" [cl-x cl-struct-tar-header-tags 0 signal wrong-type-argument tar-header 9] 4 (#$ . 11886)])
(byte-code "\300\301\302\303#\300\207" [function-put tar-header-link-type side-effect-free t] 4)
#@53 compiler-macro for inlining `tar-header-link-name'.
(defalias 'tar-header-link-name--cmacro #[(_cl-whole-arg cl-x) "\301\302\303\304\211\211&\207" [cl-x cl--defsubst-expand (cl-x) (cl-block tar-header-link-name (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] 7 (#$ . 12394)])
(put 'tar-header-link-name 'compiler-macro 'tar-header-link-name--cmacro)
#@226 Access slot "link-name" of `(tar-header (:constructor nil) (:type vector) :named (:constructor make-tar-header (data-start name mode uid gid size date checksum link-type link-name magic uname gname dmaj dmin)))' struct CL-X.
(defalias 'tar-header-link-name #[(cl-x) "\302H	>\204\303\304\305D\"\210\306H\207" [cl-x cl-struct-tar-header-tags 0 signal wrong-type-argument tar-header 10] 4 (#$ . 12838)])
(byte-code "\300\301\302\303#\300\207" [function-put tar-header-link-name side-effect-free t] 4)
#@49 compiler-macro for inlining `tar-header-magic'.
(defalias 'tar-header-magic--cmacro #[(_cl-whole-arg cl-x) "\301\302\303\304\211\211&\207" [cl-x cl--defsubst-expand (cl-x) (cl-block tar-header-magic (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] 7 (#$ . 13347)])
(put 'tar-header-magic 'compiler-macro 'tar-header-magic--cmacro)
#@222 Access slot "magic" of `(tar-header (:constructor nil) (:type vector) :named (:constructor make-tar-header (data-start name mode uid gid size date checksum link-type link-name magic uname gname dmaj dmin)))' struct CL-X.
(defalias 'tar-header-magic #[(cl-x) "\302H	>\204\303\304\305D\"\210\306H\207" [cl-x cl-struct-tar-header-tags 0 signal wrong-type-argument tar-header 11] 4 (#$ . 13771)])
(byte-code "\300\301\302\303#\300\207" [function-put tar-header-magic side-effect-free t] 4)
#@49 compiler-macro for inlining `tar-header-uname'.
(defalias 'tar-header-uname--cmacro #[(_cl-whole-arg cl-x) "\301\302\303\304\211\211&\207" [cl-x cl--defsubst-expand (cl-x) (cl-block tar-header-uname (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] 7 (#$ . 14268)])
(put 'tar-header-uname 'compiler-macro 'tar-header-uname--cmacro)
#@222 Access slot "uname" of `(tar-header (:constructor nil) (:type vector) :named (:constructor make-tar-header (data-start name mode uid gid size date checksum link-type link-name magic uname gname dmaj dmin)))' struct CL-X.
(defalias 'tar-header-uname #[(cl-x) "\302H	>\204\303\304\305D\"\210\306H\207" [cl-x cl-struct-tar-header-tags 0 signal wrong-type-argument tar-header 12] 4 (#$ . 14692)])
(byte-code "\300\301\302\303#\300\207" [function-put tar-header-uname side-effect-free t] 4)
#@49 compiler-macro for inlining `tar-header-gname'.
(defalias 'tar-header-gname--cmacro #[(_cl-whole-arg cl-x) "\301\302\303\304\211\211&\207" [cl-x cl--defsubst-expand (cl-x) (cl-block tar-header-gname (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] 7 (#$ . 15189)])
(put 'tar-header-gname 'compiler-macro 'tar-header-gname--cmacro)
#@222 Access slot "gname" of `(tar-header (:constructor nil) (:type vector) :named (:constructor make-tar-header (data-start name mode uid gid size date checksum link-type link-name magic uname gname dmaj dmin)))' struct CL-X.
(defalias 'tar-header-gname #[(cl-x) "\302H	>\204\303\304\305D\"\210\306H\207" [cl-x cl-struct-tar-header-tags 0 signal wrong-type-argument tar-header 13] 4 (#$ . 15613)])
(byte-code "\300\301\302\303#\300\207" [function-put tar-header-gname side-effect-free t] 4)
#@48 compiler-macro for inlining `tar-header-dmaj'.
(defalias 'tar-header-dmaj--cmacro #[(_cl-whole-arg cl-x) "\301\302\303\304\211\211&\207" [cl-x cl--defsubst-expand (cl-x) (cl-block tar-header-dmaj (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] 7 (#$ . 16110)])
(put 'tar-header-dmaj 'compiler-macro 'tar-header-dmaj--cmacro)
#@221 Access slot "dmaj" of `(tar-header (:constructor nil) (:type vector) :named (:constructor make-tar-header (data-start name mode uid gid size date checksum link-type link-name magic uname gname dmaj dmin)))' struct CL-X.
(defalias 'tar-header-dmaj #[(cl-x) "\302H	>\204\303\304\305D\"\210\306H\207" [cl-x cl-struct-tar-header-tags 0 signal wrong-type-argument tar-header 14] 4 (#$ . 16529)])
(byte-code "\300\301\302\303#\300\207" [function-put tar-header-dmaj side-effect-free t] 4)
#@48 compiler-macro for inlining `tar-header-dmin'.
(defalias 'tar-header-dmin--cmacro #[(_cl-whole-arg cl-x) "\301\302\303\304\211\211&\207" [cl-x cl--defsubst-expand (cl-x) (cl-block tar-header-dmin (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] 7 (#$ . 17023)])
(put 'tar-header-dmin 'compiler-macro 'tar-header-dmin--cmacro)
#@221 Access slot "dmin" of `(tar-header (:constructor nil) (:type vector) :named (:constructor make-tar-header (data-start name mode uid gid size date checksum link-type link-name magic uname gname dmaj dmin)))' struct CL-X.
(defalias 'tar-header-dmin #[(cl-x) "\302H	>\204\303\304\305D\"\210\306H\207" [cl-x cl-struct-tar-header-tags 0 signal wrong-type-argument tar-header 15] 4 (#$ . 17442)])
(byte-code "\300\301\302\303#\300\207" [function-put tar-header-dmin side-effect-free t] 4)
#@56 compiler-macro for inlining `tar-header-header-start'.
(defalias 'tar-header-header-start--cmacro #[(_cl-whole-arg cl-x) "\301\302\303\304\211\211&\207" [cl-x cl--defsubst-expand (cl-x) (cl-block tar-header-header-start (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] 7 (#$ . 17936)])
(put 'tar-header-header-start 'compiler-macro 'tar-header-header-start--cmacro)
#@229 Access slot "header-start" of `(tar-header (:constructor nil) (:type vector) :named (:constructor make-tar-header (data-start name mode uid gid size date checksum link-type link-name magic uname gname dmaj dmin)))' struct CL-X.
(defalias 'tar-header-header-start #[(cl-x) "\302H	>\204\303\304\305D\"\210\306H\207" [cl-x cl-struct-tar-header-tags 0 signal wrong-type-argument tar-header 16] 4 (#$ . 18395)])
(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)
#@48 compiler-macro for inlining `make-tar-header'.
(defalias 'make-tar-header--cmacro #[(_cl-whole-arg data-start name mode uid gid size date checksum link-type link-name magic uname gname dmaj dmin) "\306\307\310\311\211\211	\n\f
\n\f
&\207" [data-start name mode uid gid size 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 date checksum link-type link-name magic uname gname dmaj dmin] 21 (#$ . 18962)])
(put 'make-tar-header 'compiler-macro 'make-tar-header--cmacro)
#@47 Constructor for objects of type `tar-header'.
(defalias 'make-tar-header #[(data-start name mode uid gid size date checksum link-type link-name magic uname gname dmaj dmin) "\306\307	\n\f
	\n\f
\310&\207" [data-start name mode uid gid size vector tar-header nil date checksum link-type link-name magic uname gname dmaj dmin] 18 (#$ . 19675)])
(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))
#@41 Round S up to the next multiple of 512.
(defalias 'tar-roundup-512 #[(s) "\301\211\302\\\303\"\304\"\207" [s ash 511 -9 9] 4 (#$ . 21172)])
#@128 Return a `tar-header' structure.
This is a list of name, mode, uid, gid, size,
write-date, checksum, link-type, and link-name.
(defalias 'tar-header-block-tokenize #[(pos coding) "\306\\dV\203\f\307\310!\210\311eZ\306\"\312U\204\313\314!\210	\203#\313\315!\210\211\306\\\211{\211\312H\312U\203<\n\316H\312U?\205i
S./S01S2\n3H4\n
5\317ZO\2116\320\235@7\321\21189\322:\323:\n;#\203z\f\312\225S^\323:\n<#\203\214.\312\225S^.\323:\n5#\203\2360\312\225S^0\323:\n/#\203\2602\312\225S^2\n;\fO84\312U\206\3024\324U?\205\3124\324Z4\n<.O97\325\232\203\373\323:\n=#\203\373\312\225=TV\203\373\n=\312\225SO\3268Q8\327\301!\203\3308>\"8\3309>\"94\204!\323\3318\"\203!\33248\333\232\203\3046\334\235\203\304\335\n?@#A\330\336A\337#{>\"8\340\341A!\\>\"B4\342\267\202\231B\312HC>\204k\343\344\345BD\"\210B\211D\3178I\210)\202\235B\312HC>\204\213\343\344\345BD\"\210B\211E\3468I\210)\202\235\347\350!\210B\312HC>\204\257\343\344\345BD\"\210B\211F\351\352\306Z\353\"I\210)B+\202g\352\321\"8\335\nG#\335\nGH#\335\nH?#\335\n?@#\354\n@I#\335\nI3#497\211\205\330\n50O>\"7\205\330\n/2O>\"\335\n1J#\335\nJ=#KLMNOPQRSATUV8W\355\345W8VUTASRQPONMLK\321&..\n)\207" [pos enable-multibyte-characters string tar-mode-offset name-end tar-magic-offset 512 error "Malformed Tar header" mod 0 cl--assertion-failed (zerop (mod (- pos (point-min)) 512)) (not enable-multibyte-characters) 101 2 ("ustar " "ustar") nil "[^]*" string-match 48 "ustar" "/" default-value decode-coding-string "/\\'" 5 "././@LongLink" ("ustar " "ustar") tar-parse-octal-integer + -1 tar-header-block-tokenize tar-roundup-512 #s(hash-table size 2 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (28 345 27 377)) signal wrong-type-argument tar-header 10 message "Unrecognized GNU Tar @LongLink format" 16 copy-marker t tar-parse-octal-long-integer vector link-end tar-gname-offset uname-end tar-dmaj-offset gname-end tar-linkp-offset link-p tar-uname-offset magic-str uname-valid-p name linkname nulsexp tar-name-offset tar-link-offset tar-prefix-offset coding tar-size-offset tar-time-offset size descriptor cl-struct-tar-header-tags #1=#:v #2=#:v #3=#:v tar-uid-offset tar-gid-offset tar-chk-offset tar-dmin-offset dmin dmaj gname uname magic link-name link-type checksum date gid uid mode data-start] 19 (#$ . 21320)])
(defalias 'tar-header-data-end #[(descriptor) "\305H	>\204\306\307\310D\"\210\311H\305H	>\204\"\306\307\310D\"\210\312H\305H	>\2045\306\307\310D\"\210\313H\n\314>\204L\f\305V\203L\315\f!\202M\305\\+\207" [descriptor cl-struct-tar-header-tags data-start link-type size 0 signal wrong-type-argument tar-header 1 9 6 (1 2 3 4 5 6) tar-roundup-512] 4])
(defalias 'tar-parse-octal-integer #[(string &optional start end) "\204\304	\204
\nG\nH\304U\203\304\207\304	W\203<\nH\305W\203+\2024\306_\nH\305Z\\T\211\202)\207" [start end string n 0 48 8] 4])
(defalias 'tar-parse-octal-long-integer #[(string &optional start end) "\204\305	\204
\nG\nH\305U\203\305\211D\207\305\211	W\203J\nH\306Y\203C\f\307_\nH\306Z\\\307_\310\f\311\"\\\312\f\313\"T\211\202\f*D\207" [start end string hi lo 0 48 8 ash -16 logand 65535] 5])
(defalias 'tar-parse-octal-integer-safe #[(string) "G\301U\203\302\303!\210\304\305\"\210\306!\207" [string 0 error "empty string" mapc #[(c) "\301W\204\f\302V\205\303\304\"\207" [c 48 55 error "`%c' is not an octal digit"] 3] tar-parse-octal-integer] 3])
#@364 Return a Tar header for a regular file.
The header will lack a proper checksum; use `tar-header-block-checksum'
to compute one, or request `tar-header-serialize' to do that.

Other tar-mode facilities may also require the data-start header
field to be set to a valid value.

If SIZE is not given or nil, it defaults to 0.
If TIME is not given or nil, assume now.
(defalias 'tar-new-regular-file-header #[(filename &optional size time) "\303\304\305\306\307\211	\206\f\307\n\206\310 \305\211\211\211\211\211\211\211\211&\207" [filename size time vector tar-header nil 420 0 current-time] 18 (#$ . 24941)])
(defalias 'tar--pad-to #[(pos) "\301\302`[e#\303\"\207" [pos make-string + 0] 5])
(defalias 'tar--put-at #[(pos val &optional fmt mask) "\205 \304	!\n\203\305\n\203\306\"\202\"\202\261\207" [val pos fmt mask tar--pad-to format logand] 6])
#@247 Return the serialization of a Tar HEADER as a string.
This function calls `tar-header-block-check-checksum' to ensure the
checksum is correct.

If UPDATE-CHECKSUM is non-nil, update HEADER with the newly-computed
checksum before doing the check.
(defalias 'tar-header-serialize #[(header &optional update-checksum) "\306\307!rq\210\310\216\311\312!\210\313	\314H\n>\204\315\316\317	D\"\210	\320H\"\211G\321W\204/\322\323!\210\fc\210)\324
	\314H\n>\204D\315\316\317	D\"\210	\325H\326\327$\210\3241	\314H\n>\204]\315\316\317	D\"\210	\330H\326\327$\210\3242	\314H\n>\204v\315\316\317	D\"\210	\331H\326\327$\210\3243	\314H\n>\204\217\315\316\317	D\"\210	\332H\333#\210\3344!\335	\314H\n>\204\251\315\316\317	D\"\210	\336H!\337\261\210\3245	\314H\n>\204\303\315\316\317	D\"\210	\340H\"\210\3246	\314H\n>\204\332\315\316\317	D\"\210	\341H\"\210	\314H\n>\204\356\315\316\317	D\"\210	\342H\203k\3247	\314H\n>\204\315\316\317	D\"\210	\342H\"\210\3248	\314H\n>\204\315\316\317	D\"\210	\343H\"\210\3249	\314H\n>\2044\315\316\317	D\"\210	\344H\"\210\324:	\314H\n>\204K\315\316\317	D\"\210	\345H\346\347$\210\324;	\314H\n>\204d\315\316\317	D\"\210	\350H\346\347$\210\324\351\352\"\210\353\354 !<e=\\b\210\355\356!\210\357\326<\"c\210>\203\245	\314H\n>\204\233\315\316\317	D\"\210	\211?\356<I\210)\360\354 	\314H\n>\204\267\315\316\317	D\"\210	\356H	\314H\n>\204\311\315\316\317	D\"\210	\320H#\210)\354 +\207" [#1=#:temp-buffer header cl-struct-tar-header-tags tar-file-name-coding-system encoded-name tar-mode-offset generate-new-buffer " *temp*" #[nil "\301!\205	\302!\207" [#1# buffer-name kill-buffer] 2] set-buffer-multibyte nil encode-coding-string 0 signal wrong-type-argument tar-header 2 99 error "Long file name support is not implemented" tar--put-at 3 "%6o " 262143 4 5 6 "%11o " tar--pad-to tar-octal-time 7 " " 9 10 11 12 13 14 "%7o" 2097151 15 512 "" tar-header-block-checksum buffer-string delete-char 8 format tar-header-block-check-checksum tar-uid-offset tar-gid-offset tar-size-offset tar-time-offset tar-linkp-offset tar-link-offset tar-magic-offset tar-uname-offset tar-gname-offset tar-dmaj-offset tar-dmin-offset ck tar-chk-offset update-checksum #2=#:v] 8 (#$ . 25814)])
#@62 Compute and return a tar-acceptable checksum for this block.
(defalias 'tar-header-block-checksum #[(string) "\306!\203\n\307\310!\210	\211\311\\\312\211\312\nW\203'\f
H\\
T\211\202\211\313W\203<\f
H\\
T\211\202*\f\314\\,\207" [string tar-chk-offset chk-field-start chk-field-end sum i multibyte-string-p cl--assertion-failed (not (multibyte-string-p string)) 8 0 512 256] 4 (#$ . 28052)])
#@57 Beep and print a warning if the checksum doesn't match.
(defalias 'tar-header-block-check-checksum #[(hblock desired-checksum file-name) "\303	!U?\205\304 \210\305\306\n\"\207" [desired-checksum hblock file-name tar-header-block-checksum beep message "Invalid checksum for file %s!"] 3 (#$ . 28467)])
(defalias 'tar-clip-time-string #[(time) "\302!\303	\304\305O\306\307\"Q)\207" [time str current-time-string " " 4 16 format-time-string " %Y"] 5])
#@103 Construct a `rw-r--r--' string indicating MODE.
MODE should be an integer which is a file mode value.
(defalias 'tar-grind-file-mode #[(mode) "\301\302\303\"\304U\203\305\202\306\302\307\"\304U\203\305\202\310\302\311\"\304U\2037\302\312\"\304U\2033\305\202E\313\202E\302\312\"\304U\203D\314\202E\315\302\316\"\304U\203R\305\202S\306\302\317\"\304U\203`\305\202a\310\302\320\"\304U\203{\302\321\"\304U\203w\305\202\211\313\202\211\302\321\"\304U\203\210\314\202\211\315\302\322\"\304U\203\226\305\202\227\306\302\323\"\304U\203\244\305\202\245\310\302\324\"\304U\203\277\302\325\"\304U\203\273\305\202\315\313\202\315\302\325\"\304U\203\314\326\202\315\327&	\207" [mode string logand 256 0 45 114 128 119 2048 64 120 83 115 32 16 1024 8 4 2 512 1 84 116] 12 (#$ . 28929)])
#@52 Return a line similar to the output of `tar -vtf'.
(defalias 'tar-header-block-summarize #[(tar-hblock &optional mod-p) "\306H	>\204\307\310\311D\"\210\312H\306H	>\204!\307\310\311D\"\210\313H\306H	>\2043\307\310\311D\"\210\314H\306H	>\204E\307\310\311D\"\210\315H\306H	>\204W\307\310\311D\"\210\316H\306H	>\204i\307\310\311D\"\210\317H\306H	>\204{\307\310\311D\"\210\320H\306H	>\204\215\307\310\311D\"\210\321H\306H	>\204\237\307\310\311D\"\210\322H\306H	>\204\261\307\310\311D\"\210\323H789:;<\324\325=\203\317\326\202\320\327\330=\204\334\306=\203\340\331\202c\332=\203\352\333\202c\312=\203\364\334\202c\313=\203\376\335\202c\314=\203\336\202c\315=\203\337\202c\320=\203\340\202c\341=\203&\326\202c\342=\2030\343\202c\344=\203:\345\202c\346=\203D\347\202c\350=\203N\351\202c\352=\203X\353\202c\353=\203b\354\202c\327\355;!8G\306U\203t:\202v87G\306U\203\2039\202\2057
>\203\221\356\f!\202\222\357\360<\361\362\363\364%\332=\204\246\312=\203\266\332U\203\260\365\202\261\366\nP\202\267\357&\n.\n\207" [tar-hblock cl-struct-tar-header-tags link-name type time size 0 signal wrong-type-argument tar-header 2 3 4 5 12 13 6 7 9 10 format "%c%c%s %7s/%-7s %7s%s %s%s" 42 32 nil 45 1 104 108 99 98 100 112 20 28 76 29 77 35 83 38 86 55 72 88 tar-grind-file-mode tar-clip-time-string "" propertize mouse-face highlight help-echo "mouse-2: extract this file into a buffer" " ==> " " --> " gname uname gid uid mode name mod-p tar-mode-show-date] 15 (#$ . 29757)])
#@73 Extract all archive members in the tar-file into the current directory.
(defalias 'tar-untar-buffer #[nil "r\306 \203\f\n\202
pq\210\307\310!\210	\310\211\205\345\f@\211\311H
>\204-\312\313\314D\"\210\315H\"\311H
>\204A\312\313\314D\"\210\316H\317=\203N\"\202R\320\"!#\321!$\311H
>\204h\312\313\314D\"\210\322H\211%\311H
>\204}\312\313\314D\"\210\323H\\&\324\"!\204\334\325\326\"\"\210#\203\242\327#!\204\242\330#\331\"\210\324\"!\204\305\332'$\203\273\333\334\335\336\"$%\210\337%&\"#\210)\340\"\311H
>\204\327\312\313\314D\"\210\341H\"\210-\fA\211\204\310,\207" [tar-parse-info descriptors tar-data-buffer descriptor --dolist-tail-- cl-struct-tar-header-tags tar-data-swapped-p set-buffer-multibyte nil 0 signal wrong-type-argument tar-header 2 9 5 file-name-directory tar--describe-as-link 1 6 file-directory-p message "Extracting %s" file-exists-p make-directory t no-conversion lwarn (tar link) :warning "Extracted `%s', %s, as a normal file" write-region set-file-modes 3 name dir link-desc start end coding-system-for-write] 7 (#$ . 31344) nil])
#@59 Parse the contents of the tar file in the current buffer.
(defalias 'tar-summarize-buffer #[nil "\306 \204	\307\310!\210\311 \312er
q\210\313\314ed#)\"\312#r
q\210\ndW\203\222\315\n\f\"\211#\203\222#\316H$>\204G\317\320\321#D\"\210#\322H\211%\316W\203o\323\324#\316H$>\204g\317\320\321#D\"\210#\325H%#\210)#	B\326#!\"\n\211\247\203\211\211@Y\205\215\327\"\266\202%)\330\331!\210	\237#\204\250\332\"!\210\202\254\333\334!\210eb\210\312\335\336\337\340#&'(&\340\261\210eb\210\341!.	\207" [modified result pos tar-file-name-coding-system coding tar-data-buffer tar-data-swapped-p cl--assertion-failed (tar-data-swapped-p) buffer-modified-p nil make-progress-reporter "Parsing tar file..." tar-header-block-tokenize 0 signal wrong-type-argument tar-header 6 error "%s has size %s - corrupted" 2 tar-header-data-end progress-reporter-do-update make-local-variable tar-parse-info progress-reporter-done message "Warning: premature EOF parsing tar file" t mapconcat tar-header-block-summarize "\n" restore-buffer-modified-p progress-reporter descriptor cl-struct-tar-header-tags size total-summaries inhibit-read-only buffer-file-truename] 7 (#$ . 32462)])
#@37 Local keymap for Tar mode listings.
(defvar tar-mode-map (byte-code "\301 \302!\210\303\304\305#\210\303\306\307#\210\303\310\311#\210\303\312\311#\210\303\313\314#\210\303\315\314#\210\303\316\314#\210\303\317\320#\210\303\321\322#\210\303\323\305#\210\303\324\305#\210\303\325\305#\210\303\326\327#\210\303\330\331#\210\303\332\331#\210\303\333\331#\210\303\334\335#\210\303\336\337#\210\303\340\341#\210\303\342\343#\210\303\344\345#\210\303\346\347#\210\303\350\351#\210\303\352\327#\210\303\353\354#\210\303\355\356#\210\303\357\360#\210\303\361\362#\210\303\363\364#\210\303\365\366\367\366!B#\210\303\370\371#\210\303\372\373#\210\303\374\375#\210\303\376\377#\210\303\201@\201A#\210\303\201B\201C\367\201C!B#\210\303\201D\201E#\210\303\201F\201G#\210\303\201H\201I#\210\303\201J\201K\367\201K!B#\210\303\201L\201M#\210\303\201N\201O#\210\303\201P\201Q#\210\303\201R\201S#\210\303\201T\201U#\210\303\201V\201W#\210)\207" [map make-keymap suppress-keymap define-key " " tar-next-line "C" tar-copy "d" tar-flag-deleted "" "e" tar-extract "f" "
" [mouse-2] tar-mouse-extract "g" revert-buffer "n" "" [down] "o" tar-extract-other-window "p" tar-previous-line "" [up] "I" tar-new-entry "R" tar-rename-entry "u" tar-unflag "v" tar-view "w" woman-tar-extract-file "x" tar-expunge "" tar-unflag-backwards "E" "M" tar-chmod-entry "G" tar-chgrp-entry "O" tar-chown-entry [follow-link] mouse-face [menu-bar edit] undefined [menu-bar immediate] "Immediate" make-sparse-keymap [menu-bar immediate woman] ("Read Man Page (WoMan)" . woman-tar-extract-file) [menu-bar immediate view] ("View This File" . tar-view) [menu-bar immediate display] ("Display in Other Window" . tar-display-other-window) [menu-bar immediate find-file-other-window] ("Find in Other Window" . tar-extract-other-window) [menu-bar immediate find-file] ("Find This File" . tar-extract) [menu-bar mark] "Mark" [menu-bar mark unmark-all] ("Unmark All" . tar-clear-modification-flags) [menu-bar mark deletion] ("Flag" . tar-flag-deleted) [menu-bar mark unmark] ("Unflag" . tar-unflag) [menu-bar operate] "Operate" [menu-bar operate chown] ("Change Owner..." . tar-chown-entry) [menu-bar operate chgrp] ("Change Group..." . tar-chgrp-entry) [menu-bar operate chmod] ("Change Mode..." . tar-chmod-entry) [menu-bar operate rename] ("Rename to..." . tar-rename-entry) [menu-bar operate copy] ("Copy to..." . tar-copy) [menu-bar operate expunge] ("Expunge Marked Files" . tar-expunge)] 6) (#$ . 33668))
(byte-code "\300\301\302\303#\210\300\304\302\303#\207" [put tar-mode mode-class special tar-subfile-mode] 4)
(defalias 'tar-change-major-mode-hook #[nil "\301 \203\302 \210\303!\205\304!\207" [tar-data-buffer tar-data-swapped-p tar-swap-data buffer-live-p kill-buffer] 2])
(defalias 'tar-mode-kill-buffer-hook #[nil "\301!\205	\302!\207" [tar-data-buffer buffer-live-p kill-buffer] 2])
(defvar tar-mode-hook nil)
(byte-code "\300\301N\204\f\302\300\301\303#\210\304\305!\204\302\305\306\307#\210\300\207" [tar-mode-hook variable-documentation put "Hook run after entering Tar mode.\nNo problems result if this variable is not bound.\n`add-hook' automatically binds it.  (This is true for all hook variables.)" boundp tar-mode-map definition-name tar-mode] 4)
(defvar tar-mode-map (make-sparse-keymap))
(byte-code "\301\302N\204\303\301\302\304\305!#\210\306\307!\204\303\307\310\311#\210\312\313 !\210\307\302N\204-\303\307\302\304\314!#\210\306\300!\204B\303\300\310\311#\210\315\316\300\317\"\210!\210\300\302N\204P\303\300\302\304\320!#\210\303\311\321\322#\207" [tar-mode-abbrev-table tar-mode-map variable-documentation put purecopy "Keymap for `tar-mode'." boundp tar-mode-syntax-table definition-name tar-mode (lambda (#1=#:def-tmp-var) (defvar tar-mode-syntax-table #1#)) make-syntax-table "Syntax table for `tar-mode'." (lambda (#1#) (defvar tar-mode-abbrev-table #1#)) define-abbrev-table nil "Abbrev table for `tar-mode'." derived-mode-parent special-mode] 5)
#@900 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;
or click mouse-2 on the file's line in the Tar mode 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 \[save-buffer], 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}

In addition to any hooks its parent mode `special-mode' might have run,
this mode runs the hook `tar-mode-hook', as the final or penultimate step
during initialization.
(defalias 'tar-mode #[nil "\306\300!\210\307\310 \210\311\312\310\313N\203\314\311\313\310\313N#\210\315!\204'\316\317 \"\210\320\f!\211\2036
\321 =\203<\322\f\323 \"\210)\324>\325\"\204V>?=\204V\326>\325?C#\210\327!\210\330\f!\210>?@\203q\331@!\203q\332A\306\333!\210\306\334!\210\332\306\335!\210\332\306\336!\210\332\306\337!\210B\206\232C\206\232D\306\340!\210\307 \341 \210~\210\342 \203\261\343\344!\210\306\345!\210\346%\347\350\351\332\307$\210\347\352\353\332\307$\210\347\354\355\332\307$\210\356\332!\210\306\357!\210\360\361\362\363@\206\340\364 !\"!/\3651\366\366 \210\367 \210\370\371!0\202E\372 \210\373E@EA\")\210)\374\375!\207" [delay-mode-hooks major-mode mode-name tar-mode-map tar-mode-syntax-table parent make-local-variable t special-mode tar-mode "Tar" mode-class put keymap-parent set-keymap-parent current-local-map char-table-parent standard-syntax-table set-char-table-parent syntax-table abbrev-table-get :parents abbrev-table-put use-local-map set-syntax-table file-writable-p nil tar-parse-info require-final-newline local-enable-local-variables next-line-add-newlines tar-file-name-coding-system file-precious-flag buffer-disable-undo tar-data-swapped-p cl--assertion-failed (not (tar-data-swapped-p)) revert-buffer-function tar-mode-revert add-hook write-region-annotate-functions tar-write-region-annotate kill-buffer-hook tar-mode-kill-buffer-hook change-major-mode-hook tar-change-major-mode-hook set-buffer-multibyte tar-data-buffer generate-new-buffer format " *tar-data %s*" file-name-nondirectory buffer-name (error) tar-swap-data tar-summarize-buffer tar-next-line 0 fundamental-mode signal run-mode-hooks tar-mode-hook tar-mode-abbrev-table local-abbrev-table buffer-file-name buffer-read-only file-name-coding-system default-file-name-coding-system locale-coding-system err] 6 (#$ . 37704) nil])
#@59 In tar mode, run the WoMan man-page browser on this file.
(autoload 'woman-tar-extract-file "woman" '(#$ . 40498) t)
#@101 Non-nil if Tar-Subfile mode is enabled.
Use the command `tar-subfile-mode' to change this variable.
(defvar tar-subfile-mode nil (#$ . 40622))
(make-variable-buffer-local 'tar-subfile-mode)
#@390 Minor mode for editing an element of a tar-file.
With a prefix argument ARG, enable the mode if ARG is positive,
and disable it otherwise.  If called from Lisp, enable the mode
if ARG is omitted or nil.  This mode arranges for "saving" this
buffer to write the data into the tar-file buffer that it came
from.  The changes will actually appear on disk when you save the
tar-file's buffer.
(defalias 'tar-subfile-mode #[(&optional arg) "\306 	\307=\203\n?\202\310	!\311V\312\303!\203\204\"\313\314!\210\n\2036\315\316\317\320\321$\210\322\323!\210\320\202<\324\316\317\321#\210\325\326\n\203F\327\202G\330\"\210\331\332!\203l\306 \203[\306 \232\203l\333\334\335\n\203g\336\202h\337
#\210))\340 \210\n\207" [#1=#:last-message arg tar-subfile-mode tar-superior-buffer buffer-auto-save-file-name local current-message toggle prefix-numeric-value 0 boundp error "This buffer is not an element of a tar file" add-hook write-file-functions tar-subfile-save-buffer nil t auto-save-mode -1 remove-hook run-hooks tar-subfile-mode-hook tar-subfile-mode-on-hook tar-subfile-mode-off-hook called-interactively-p any " in current buffer" message "Tar-Subfile mode %sabled%s" "en" "dis" force-mode-line-update] 5 (#$ . 40819) (list (or current-prefix-arg 'toggle))])
(defvar tar-subfile-mode-hook nil)
(byte-code "\301\302N\204\f\303\301\302\304#\210\305\306\307\310\300!\205\307\211%\207" [tar-subfile-mode-map tar-subfile-mode-hook variable-documentation put "Hook run after entering or leaving `tar-subfile-mode'.\nNo problems result if this variable is not bound.\n`add-hook' automatically binds it.  (This is true for all hook variables.)" add-minor-mode tar-subfile-mode nil boundp] 6)
(defalias 'tar-mode-revert #[(&optional no-auto-save no-confirm) "\304\216\305\306 \203\f\307 \210\310	\n\311#\210\312!\203\313!\210\314 *\207" [revert-buffer-function no-auto-save no-confirm tar-data-buffer #[nil "\300 ?\205\301 \207" [tar-data-swapped-p tar-swap-data] 1] nil tar-data-swapped-p tar-swap-data revert-buffer preserve-modes buffer-live-p kill-buffer tar-mode] 4])
#@73 Move cursor vertically down ARG lines and to the start of the filename.
(defalias 'tar-next-line #[(arg) "y\210\301`\302\"\206`b\207" [arg next-single-property-change mouse-face] 3 (#$ . 42916) "p"])
#@71 Move cursor vertically up ARG lines and to the start of the filename.
(defalias 'tar-previous-line #[(arg) "\301[!\207" [arg tar-next-line] 2 (#$ . 43125) "p"])
#@57 Return the `tar-parse-info' index for the current line.
(defalias 'tar-current-position #[nil "\300e\301 \"\207" [count-lines line-beginning-position] 3 (#$ . 43293)])
#@69 Return the tar-descriptor of the current line, or signals an error.
(defalias 'tar-current-descriptor #[(&optional noerror) "\302 8\206	?\205\303\304!\207" [tar-parse-info noerror tar-current-position error "This line does not describe a tar-file entry"] 2 (#$ . 43467)])
(defalias 'tar--describe-as-link #[(descriptor) "\303H	>\204\304\305\306D\"\210\307H\211\205>\n\310\267\202=\311\202>\312\202>\313\202>\314\202>\315\202>\316\202>\317\202>\320\202>\321)\207" [descriptor cl-struct-tar-header-tags link-p 0 signal wrong-type-argument tar-header 9 #s(hash-table size 8 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (5 29 20 33 28 37 29 41 35 45 38 49 55 53 72 57)) "a directory" "a tar directory header" "a next has longname" "a multivolume-continuation" "a sparse entry" "a volume header" "a pax global extended header" "a pax extended header" "a link"] 5])
(defalias 'tar--check-descriptor #[(descriptor) "\302!\211\205\f\303\304	\")\207" [descriptor link-desc tar--describe-as-link error "This is %s, not a real file"] 4])
(defalias 'tar-get-descriptor #[nil "\303 \211\304H	>\204\305\306\307D\"\210\310H\311!\210\n\304U\203$\312\313!\210*\207" [descriptor cl-struct-tar-header-tags size tar-current-descriptor 0 signal wrong-type-argument tar-header 6 tar--check-descriptor message "This is a zero-length file"] 5])
(defalias 'tar-get-file-descriptor #[(file) "\306	\306\211\203-@\f\n\307H
>\204\310\311\312\nD\"\210\n\313H\232\203&\nA\211\204\n*\314!\210)\207" [desc tar-parse-info hdr --dolist-tail-- file cl-struct-tar-header-tags nil 0 signal wrong-type-argument tar-header 2 tar--check-descriptor] 6])
#@55 Extract a file whose tar directory line you click on.
(defalias 'tar-mouse-extract #[(event) "r\301\302!\211@\262!q\210\212\303\302!!b\210\304 \210*\305\302!\211@\262!\210\303\302!!b\210\306 \207" [event window-buffer event-end posn-point tar-get-descriptor select-window tar-extract] 3 (#$ . 45152) "e"])
#@36 Helper function for `tar-extract'.
(defalias 'tar-file-name-handler #[(op &rest args) "\303=\206
\304\305\n\")\207" [op file-name-handler-alist args file-exists-p nil apply] 3 (#$ . 45470)])
#@57 Extract this entry of the tar file into its own buffer.
(defalias 'tar--extract #[(descriptor) "\306H	>\204\307\310\311D\"\210\312H\306H	>\204\"\307\310\311D\"\210\313H\306H	>\2045\307\310\311D\"\210\314H\211\\\315  \316\n!\317 \320R!\321!!\"r#q\210\322$\f
}\210\fb\210%\206\200&\203t&\n
\fZ\"\206\200\323'\324\325\npB\326#@)\211$\203\217\327$!\330=\203\226\331\f
\326#$\332\333!\203\256\334$\335\"\203\256r\"q\210\336\322!\210)~\210r\"q\210\326()\337\f
$\"$\210r\"q\210\322(+\".\207" [descriptor cl-struct-tar-header-tags name size start end 0 signal wrong-type-argument tar-header 2 6 1 buffer-name file-name-nondirectory " (" ")" generate-new-buffer nil (("" . tar-file-name-handler)) find-operation-coding-system insert-file-contents t coding-system-type undecided detect-coding-region default-value enable-multibyte-characters coding-system-get :for-unibyte set-buffer-multibyte decode-coding-region tarname bufname buffer tar-data-buffer coding coding-system-for-read set-auto-coding-function file-name-handler-alist buffer-undo-list] 6 (#$ . 45671)])
#@70 In Tar mode, extract this entry of the tar file into its own buffer.
(defalias 'tar-extract #[(&optional other-window-p) "\306=\307 \211\310H>\204\311\312\313\nD\"\210\n\314Hp\315 &'\206&	(\316&\317\320\321\f\"\2037\f\202:\322\fPQ!)\323)!*\324+*\204\223\325\n!*\326+r*q\210eb\210),\327,!-\330.\326\"\210r
q\210/)/\331\324!\210\332 \210\333\334!\210
\333\335!\210\n('\336\337!\210)	\203\244\340*+\205\240\341\"\202\300\342=\203\261\343*!\202\300\203\274\344*!\202\300\345*!.	\207" [other-window-p view-p descriptor cl-struct-tar-header-tags name tar-buffer view tar-get-descriptor 0 signal wrong-type-argument tar-header 2 buffer-name expand-file-name "!" string-match "/" "./" get-file-buffer nil tar--extract t abbreviate-file-name set-buffer-file-coding-system set-buffer-modified-p normal-mode make-local-variable tar-superior-buffer tar-superior-descriptor tar-subfile-mode 1 view-buffer kill-buffer-if-not-modified display display-buffer switch-to-buffer-other-window switch-to-buffer tarname buffer-read-only read-only-p new-buffer-file-name buffer just-created buffer-file-name buffer-file-truename last-coding-system-used default-directory] 7 (#$ . 46784) nil])
#@65 In Tar mode, find this entry of the tar file in another window.
(defalias 'tar-extract-other-window #[nil "\300\301!\207" [tar-extract t] 2 (#$ . 48011) nil])
#@68 In Tar mode, display this entry of the tar file in another window.
(defalias 'tar-display-other-window #[nil "\300\301!\207" [tar-extract display] 2 (#$ . 48176) nil])
#@52 In Tar mode, view the tar file entry on this line.
(defalias 'tar-view #[nil "\300\301!\207" [tar-extract view] 2 (#$ . 48350) nil])
#@57 Read a file name with this line's entry as the default.
(defalias 'tar-read-file-name #[(&optional prompt) "\204\305\306\307 \211\310H\n>\204\311\312\313	D\"\210	\314H)!\306\315\316!\317$!\320\f!\321\230\2048\322\f!\203O\323\324\f\"\203H\f\310\211\225SO\202I\f\325\320!Q\f*\207" [prompt cl-x cl-struct-tar-header-tags default-file target "Copy to: " expand-file-name tar-current-descriptor 0 signal wrong-type-argument tar-header 2 read-file-name file-name-directory nil file-name-nondirectory "" file-directory-p string-match "/$" "/"] 7 (#$ . 48489)])
#@167 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.
(defalias 'tar-copy #[(&optional to-file) "\306 \211\307H	>\204\310\311\312D\"\210\313H\307H	>\204%\310\311\312D\"\210\314H\307H	>\2048\310\311\312D\"\210\315H\211\\r\316 \203S\202Tpq\210\317\n\320\"\321=\203y\317\320\"\321=\203y\321\320=\205sB\320\322\320\f
\323\211\211\324&\210*\325\326\n#.\207" [descriptor cl-struct-tar-header-tags name size start end tar-get-descriptor 0 signal wrong-type-argument tar-header 2 6 1 tar-data-swapped-p find-file-name-handler write-region jka-compr-handler no-conversion nil t message "Copied tar entry %s to %s" inhibit-file-name-handlers inhibit-file-name-operation tar-data-buffer to-file coding-system-for-write] 9 (#$ . 49068) (list (tar-read-file-name))])
#@47 Insert a new empty regular file before point.
(defalias 'tar-new-entry #[(filename &optional index) "p	\206\306 \211\307U?\205	S\n\233\211\203 \310@!\202!e\311
!rq\210\fb\210\312\313\"c\210\307H>\204H\314\315\316D\"\210\211\317\320`\321\"I\210*\203dAB\241\210\202i\nB\212eb\210	y\210\313\322!\323\261\210*	-\207" [buffer index tar-parse-info d-list pos filename tar-current-position 0 tar-header-data-end tar-new-regular-file-header tar-header-serialize t signal wrong-type-argument tar-header 1 copy-marker nil tar-header-block-summarize 10 new-descriptor tar-data-buffer cl-struct-tar-header-tags #1=#:v inhibit-read-only] 6 (#$ . 49991) "*sFile name: "])
#@112 In Tar mode, mark this sub-file to be deleted from the tar file.
With a prefix argument, mark that many files.
(defalias 'tar-flag-deleted #[(p &optional unflag) "\304 \210\305!\306	\nW\2038\307!\203$\310\311!\210\203!\312\202\"\313c\210\306W\203.\314\202/\311y\210	T\211\202\n*m?\205@\315u\207" [p i --dotimes-limit-- unflag beginning-of-line abs 0 tar-current-descriptor delete-char 1 " " "D" -1 36] 3 (#$ . 50699) "p"])
#@124 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.
(defalias 'tar-unflag #[(p) "\301\302\"\207" [p tar-flag-deleted t] 3 (#$ . 51144) "p"])
#@125 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.
(defalias 'tar-unflag-backwards #[(p) "\301[\302\"\207" [p tar-flag-deleted t] 3 (#$ . 51364) "p"])
#@54 Expunge the tar-entry specified by the current line.
(defalias 'tar-expunge-internal #[nil "\304 \305 \305\306!|\210\307	\"r\nq\210\310H>\204\"\311\312\313D\"\210\314H\206<\310H>\2047\311\312\313D\"\210\315H\316Z\317!|*\207" [descriptor tar-parse-info tar-data-buffer cl-struct-tar-header-tags tar-current-descriptor line-beginning-position 2 delq 0 signal wrong-type-argument tar-header 16 1 512 tar-header-data-end] 4 (#$ . 51595)])
#@163 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.
(defalias 'tar-expunge #[(&optional noconfirm) "\204\n\302\303!\205>\304\212eb\210m\204)g\305U\203#\306 \210	T\202\307y\210\202\310 \210)	\304U\2039\311\312!\202=\311\313	\")\207" [noconfirm n y-or-n-p "Expunge files marked for deletion? " 0 68 tar-expunge-internal 1 tar-pad-to-blocksize message "Nothing to expunge." "%s files expunged.  Be sure to save this buffer."] 3 (#$ . 52052) nil])
#@49 Remove the stars at the beginning of each line.
(defalias 'tar-clear-modification-flags #[nil "\212eb\210m?\205g\300=\204\301\302!\210\303c\210\302y\210\202)\207" [32 delete-char 1 " "] 2 (#$ . 52625) nil])
#@367 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.
(defalias 'tar-chown-entry #[(new-uid) ";\203)\306 \211\307H\n>\204\310\311\312	D\"\210	\211\313I\210*\314\f\315
\"\316P\"\207\306 \211\307H\n>\204;\310\311\312	D\"\210	\211\317I\210*\314\320\321\"\307\322O\323P\"\207" [new-uid cl-x cl-struct-tar-header-tags #1=#:v tar-uname-offset tar-file-name-coding-system tar-current-descriptor 0 signal wrong-type-argument tar-header 12 tar-alter-one-field encode-coding-string "" 4 format "%6o" 6 " " #2=#:v tar-uid-offset] 6 (#$ . 52845) (list (let ((descriptor (tar-current-descriptor))) (if (or current-prefix-arg (not (progn (or (and (memq (aref descriptor . #3=(0)) . #4=(cl-struct-tar-header-tags))) (signal #5='wrong-type-argument (list 'tar-header descriptor))) (aref descriptor 11)))) (read-number "New UID number: " (format "%s" (progn (or (and (memq (aref descriptor . #3#) . #4#)) (signal #5# (list 'tar-header descriptor))) (aref descriptor 4)))) (read-string "New UID string: " (progn (or (and (memq (aref descriptor . #3#) . #4#)) (signal #5# (list 'tar-header descriptor))) (aref descriptor 12))))))])
#@369 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.
(defalias 'tar-chgrp-entry #[(new-gid) ";\203)\306 \211\307H\n>\204\310\311\312	D\"\210	\211\313I\210*\314\f\315
\"\316P\"\207\306 \211\307H\n>\204;\310\311\312	D\"\210	\211\317I\210*\314\320\321\"\307\322O\323P\"\207" [new-gid cl-x cl-struct-tar-header-tags #1=#:v tar-gname-offset tar-file-name-coding-system tar-current-descriptor 0 signal wrong-type-argument tar-header 13 tar-alter-one-field encode-coding-string "" 5 format "%6o" 6 " " #2=#:v tar-gid-offset] 6 (#$ . 54295) (list (let ((descriptor (tar-current-descriptor))) (if (or current-prefix-arg (not (progn (or (and (memq (aref descriptor . #3=(0)) . #4=(cl-struct-tar-header-tags))) (signal #5='wrong-type-argument (list 'tar-header descriptor))) (aref descriptor 11)))) (read-number "New GID number: " (format "%s" (progn (or (and (memq (aref descriptor . #3#) . #4#)) (signal #5# (list 'tar-header descriptor))) (aref descriptor 5)))) (read-string "New GID string: " (progn (or (and (memq (aref descriptor . #3#) . #4#)) (signal #5# (list 'tar-header descriptor))) (aref descriptor 13))))))])
#@158 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.
(defalias 'tar-rename-entry #[(new-name) "\306\230\203\n\307\310!\210\311	\"\312 \313\314H
>\204#\315\316\317D\"\210\320H\203-\307\321!\210\fG\322V\203o\323\324\f\211G\325Z#\203o\314\224\326W\203o\314H
>\204U\315\316\317D\"\210\327H\330\232\204c\331\332\"\210\f\314\211\224O\f\314\225\313O\fG\322V\203z\307\333!\210\314H
>\204\211\315\316\317D\"\210\211\334I\210)\331\314\f\335\325\314\"P\314\325O\"\210\n\205\260\331 \n\335\326\314\"P\314\326O\"+\207" [new-name tar-file-name-coding-system prefix descriptor encoded-new-name cl-struct-tar-header-tags "" error "zero length name" encode-coding-string tar-current-descriptor nil 0 signal wrong-type-argument tar-header 16 "Rename with @LongLink format is not implemented" 98 string-match "/" 99 155 11 "ustar" tar-alter-one-field "ustar00" "name too long" 2 make-string tar-magic-offset #1=#:v tar-prefix-offset] 7 (#$ . 55747) (list (read-string "New name: " (let ((cl-x (tar-current-descriptor))) (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)))))])
#@169 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.
(defalias 'tar-chmod-entry #[(new-mode) "\305 \211\306H	>\204\307\310\311D\"\210\211\312I\210*\313\f\314\315\"\306\316O\317P\"\207" [cl-x cl-struct-tar-header-tags #1=#:v new-mode tar-mode-offset tar-current-descriptor 0 signal wrong-type-argument tar-header 3 tar-alter-one-field format "%6o" 6 " "] 6 (#$ . 57033) (list (tar-parse-octal-integer-safe (read-string "New protection (octal): ")))])
(defalias 'tar-alter-one-field #[(data-position new-data-string &optional descriptor) "\204\306 i\307 \310y\210`\311!\312\261\210|\210\313y\210\314	!\210)\315 \204)\316\317!\210r\nq\210\320H>\204<\321\322\323D\"\210\310H\324Z\211
\\b\210``G\\|\210\204[\325!\203_\316\326!\210c\210\327\f\211\324\\{!\f \\b\210``\330\\|\210\331\332\"c\210\320H>\204\216\321\322\323D\"\210\211!\330I\210)\333\f\211\324\\{\320H>\204\257\321\322\323D\"\210\334H#+\207" [descriptor col tar-data-buffer cl-struct-tar-header-tags start data-position tar-current-descriptor line-beginning-position 1 tar-header-block-summarize "\n" -1 move-to-column tar-data-swapped-p cl--assertion-failed (tar-data-swapped-p) 0 signal wrong-type-argument tar-header 512 multibyte-string-p (not (or enable-multibyte-characters (multibyte-string-p new-data-string))) tar-header-block-checksum 8 format "%6o " tar-header-block-check-checksum 2 new-data-string enable-multibyte-characters chk tar-chk-offset #1=#:v] 8])
(defalias 'tar-octal-time #[(timeval) "@A@\303\304\305\n\306\"\307\305\310\n\311\"\312\"\310	\313\"\314V\203\"\312\202#\314\"\310	\315\"$*\207" [timeval lobits hibits format "%05o%01o%05o" lsh -2 logior logand 3 1 32768 0 32767] 8])
#@182 In tar subfile mode, save this buffer 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.
(defalias 'tar-subfile-save-buffer #[nil "\306\300!\203\n\204\307\310!\210\306\301!\203	\204\307\311!\210p\n	\312\"rq\210\f\313H#>\2049\314\315\316\fD\"\210\f\317H$\f\313H#>\204N\314\315\316\fD\"\210\f\320H%\f&>\211'\204a\307\321!\210r(q\210$\211)\322%!\\*)*}\210ed|\210)b\210p+r\"q\210\214~\210\323ed
+$\210+deZ\322!,db\210\324,Z\313\"c\210\f\313H#>\204\271\314\315\316\fD\"\210\f\211-\320I\210)~\210,&G'GZ.eb\210.y\210\325/\326\327\"\"\2100\203\356\3251\330\331 !\332P\"\210)\333 \210+\334\335!\210\336\313!\210)\334\312!\210\337\340\341!\"\210\n2,\335\207" [tar-superior-buffer tar-superior-descriptor buffer-file-coding-system subfile-size descriptor coding boundp error "This buffer has no superior tar file buffer" "This buffer doesn't have an index into its superior tar file!" nil 0 signal wrong-type-argument tar-header 1 6 "Can't find this tar file entry in its parent tar file!" tar-roundup-512 encode-coding-region make-string tar-alter-one-field format "%11o " tar-octal-time current-time " " tar-pad-to-blocksize set-buffer-modified-p t tar-next-line message "Saved into tar-buffer `%s'.  Be sure to save that buffer!" buffer-name subfile cl-struct-tar-header-tags start size tar-parse-info head tar-data-buffer data-start data-end dest subfile-size-pad #1=#:v position tar-size-offset tar-update-datestamp tar-time-offset last-coding-system-used] 6 (#$ . 58873) nil])
#@100 If we are being anal about tar file blocksizes, fix up the current buffer.
Leaves the region wide.
(defalias 'tar-pad-to-blocksize #[nil "\205\213	GS	8\211\306H>\204\307\310\311\nD\"\210\n\312H\n\306H>\204,\307\310\311\nD\"\210\n\313H\211\2038\306\202J\n\306H>\204G\307\310\311\nD\"\210\n\314H\f\\\315\313\"\211\211eZ\245_\\rq\210e\\dV\203~d|\202\211db\210\316dZ\306\"c.	\207" [tar-anal-blocksize tar-parse-info last-desc cl-struct-tar-header-tags start link-p 0 signal wrong-type-argument tar-header 1 9 6 ash make-string size data-end bbytes pad-to tar-data-buffer goal-end] 5 (#$ . 60497)])
(defalias 'tar-write-region-annotate #[(start _end) "\206\302 ??\205\303 \210	q\210\304\207" [start tar-data-buffer tar-data-swapped-p tar-clear-modification-flags nil] 1])
(provide 'tar-mode)