PNG  IHDRX cHRMz&u0`:pQ<bKGD pHYsodtIME MeqIDATxw]Wug^Qd˶ 6`!N:!@xI~)%7%@Bh&`lnjVF29gΨ4E$|>cɚ{gk= %,a KX%,a KX%,a KX%,a KX%,a KX%,a KX%, b` ǟzeאfp]<!SJmɤY޲ڿ,%c ~ع9VH.!Ͳz&QynֺTkRR.BLHi٪:l;@(!MԴ=žI,:o&N'Kù\vRmJ雵֫AWic H@" !: Cé||]k-Ha oݜ:y F())u]aG7*JV@J415p=sZH!=!DRʯvɱh~V\}v/GKY$n]"X"}t@ xS76^[bw4dsce)2dU0 CkMa-U5tvLƀ~mlMwfGE/-]7XAƟ`׮g ewxwC4\[~7@O-Q( a*XGƒ{ ՟}$_y3tĐƤatgvێi|K=uVyrŲlLӪuܿzwk$m87k( `múcE)"@rK( z4$D; 2kW=Xb$V[Ru819קR~qloѱDyįݎ*mxw]y5e4K@ЃI0A D@"BDk_)N\8͜9dz"fK0zɿvM /.:2O{ Nb=M=7>??Zuo32 DLD@D| &+֎C #B8ַ`bOb $D#ͮҪtx]%`ES`Ru[=¾!@Od37LJ0!OIR4m]GZRJu$‡c=%~s@6SKy?CeIh:[vR@Lh | (BhAMy=݃  G"'wzn޺~8ԽSh ~T*A:xR[ܹ?X[uKL_=fDȊ؂p0}7=D$Ekq!/t.*2ʼnDbŞ}DijYaȲ(""6HA;:LzxQ‘(SQQ}*PL*fc\s `/d'QXW, e`#kPGZuŞuO{{wm[&NBTiiI0bukcA9<4@SӊH*؎4U/'2U5.(9JuDfrޱtycU%j(:RUbArLֺN)udA':uGQN"-"Is.*+k@ `Ojs@yU/ H:l;@yyTn}_yw!VkRJ4P)~y#)r,D =ě"Q]ci'%HI4ZL0"MJy 8A{ aN<8D"1#IJi >XjX֔#@>-{vN!8tRݻ^)N_╗FJEk]CT՟ YP:_|H1@ CBk]yKYp|og?*dGvzنzӴzjֺNkC~AbZƷ`.H)=!QͷVTT(| u78y֮}|[8-Vjp%2JPk[}ԉaH8Wpqhwr:vWª<}l77_~{s۴V+RCģ%WRZ\AqHifɤL36: #F:p]Bq/z{0CU6ݳEv_^k7'>sq*+kH%a`0ԣisqにtү04gVgW΂iJiS'3w.w}l6MC2uԯ|>JF5`fV5m`Y**Db1FKNttu]4ccsQNnex/87+}xaUW9y>ͯ骵G{䩓Գ3+vU}~jJ.NFRD7<aJDB1#ҳgSb,+CS?/ VG J?|?,2#M9}B)MiE+G`-wo߫V`fio(}S^4e~V4bHOYb"b#E)dda:'?}׮4繏`{7Z"uny-?ǹ;0MKx{:_pÚmFמ:F " .LFQLG)Q8qN q¯¯3wOvxDb\. BKD9_NN &L:4D{mm o^tֽ:q!ƥ}K+<"m78N< ywsard5+вz~mnG)=}lYݧNj'QJS{S :UYS-952?&O-:W}(!6Mk4+>A>j+i|<<|;ر^߉=HE|V#F)Emm#}/"y GII웻Jі94+v뾧xu~5C95~ūH>c@덉pʃ1/4-A2G%7>m;–Y,cyyaln" ?ƻ!ʪ<{~h~i y.zZB̃/,雋SiC/JFMmBH&&FAbϓO^tubbb_hZ{_QZ-sύodFgO(6]TJA˯#`۶ɟ( %$&+V'~hiYy>922 Wp74Zkq+Ovn錄c>8~GqܲcWꂎz@"1A.}T)uiW4="jJ2W7mU/N0gcqܗOO}?9/wìXžΏ0 >֩(V^Rh32!Hj5`;O28؇2#ݕf3 ?sJd8NJ@7O0 b־?lldщ̡&|9C.8RTWwxWy46ah嘦mh٤&l zCy!PY?: CJyв]dm4ǜҐR޻RլhX{FƯanшQI@x' ao(kUUuxW_Ñ줮[w8 FRJ(8˼)_mQ _!RJhm=!cVmm ?sFOnll6Qk}alY}; "baӌ~M0w,Ggw2W:G/k2%R,_=u`WU R.9T"v,<\Ik޽/2110Ӿxc0gyC&Ny޽JҢrV6N ``یeA16"J³+Rj*;BϜkZPJaÍ<Jyw:NP8/D$ 011z֊Ⱳ3ι֘k1V_"h!JPIΣ'ɜ* aEAd:ݺ>y<}Lp&PlRfTb1]o .2EW\ͮ]38؋rTJsǏP@芎sF\> P^+dYJLbJ C-xϐn> ι$nj,;Ǖa FU *择|h ~izť3ᤓ`K'-f tL7JK+vf2)V'-sFuB4i+m+@My=O҈0"|Yxoj,3]:cо3 $#uŘ%Y"y죯LebqtҢVzq¼X)~>4L׶m~[1_k?kxֺQ`\ |ٛY4Ѯr!)N9{56(iNq}O()Em]=F&u?$HypWUeB\k]JɩSع9 Zqg4ZĊo oMcjZBU]B\TUd34ݝ~:7ڶSUsB0Z3srx 7`:5xcx !qZA!;%͚7&P H<WL!džOb5kF)xor^aujƍ7 Ǡ8/p^(L>ὴ-B,{ۇWzֺ^k]3\EE@7>lYBȝR.oHnXO/}sB|.i@ɥDB4tcm,@ӣgdtJ!lH$_vN166L__'Z)y&kH;:,Y7=J 9cG) V\hjiE;gya~%ks_nC~Er er)muuMg2;֫R)Md) ,¶ 2-wr#F7<-BBn~_(o=KO㭇[Xv eN_SMgSҐ BS헃D%g_N:/pe -wkG*9yYSZS.9cREL !k}<4_Xs#FmҶ:7R$i,fi!~' # !6/S6y@kZkZcX)%5V4P]VGYq%H1!;e1MV<!ϐHO021Dp= HMs~~a)ަu7G^];git!Frl]H/L$=AeUvZE4P\.,xi {-~p?2b#amXAHq)MWǾI_r`S Hz&|{ +ʖ_= (YS(_g0a03M`I&'9vl?MM+m~}*xT۲(fY*V4x@29s{DaY"toGNTO+xCAO~4Ϳ;p`Ѫ:>Ҵ7K 3}+0 387x\)a"/E>qpWB=1 ¨"MP(\xp߫́A3+J] n[ʼnӼaTbZUWb={~2ooKױӰp(CS\S筐R*JغV&&"FA}J>G֐p1ٸbk7 ŘH$JoN <8s^yk_[;gy-;߉DV{c B yce% aJhDȶ 2IdйIB/^n0tNtџdcKj4϶v~- CBcgqx9= PJ) dMsjpYB] GD4RDWX +h{y`,3ꊕ$`zj*N^TP4L:Iz9~6s) Ga:?y*J~?OrMwP\](21sZUD ?ܟQ5Q%ggW6QdO+\@ ̪X'GxN @'4=ˋ+*VwN ne_|(/BDfj5(Dq<*tNt1х!MV.C0 32b#?n0pzj#!38}޴o1KovCJ`8ŗ_"]] rDUy޲@ Ȗ-;xџ'^Y`zEd?0„ DAL18IS]VGq\4o !swV7ˣι%4FѮ~}6)OgS[~Q vcYbL!wG3 7띸*E Pql8=jT\꘿I(z<[6OrR8ºC~ډ]=rNl[g|v TMTղb-o}OrP^Q]<98S¤!k)G(Vkwyqyr޽Nv`N/e p/~NAOk \I:G6]4+K;j$R:Mi #*[AȚT,ʰ,;N{HZTGMoּy) ]%dHء9Պ䠬|<45,\=[bƟ8QXeB3- &dҩ^{>/86bXmZ]]yޚN[(WAHL$YAgDKp=5GHjU&99v簪C0vygln*P)9^͞}lMuiH!̍#DoRBn9l@ xA/_v=ȺT{7Yt2N"4!YN`ae >Q<XMydEB`VU}u]嫇.%e^ánE87Mu\t`cP=AD/G)sI"@MP;)]%fH9'FNsj1pVhY&9=0pfuJ&gޤx+k:!r˭wkl03׼Ku C &ѓYt{.O.zҏ z}/tf_wEp2gvX)GN#I ݭ߽v/ .& и(ZF{e"=V!{zW`, ]+LGz"(UJp|j( #V4, 8B 0 9OkRrlɱl94)'VH9=9W|>PS['G(*I1==C<5"Pg+x'K5EMd؞Af8lG ?D FtoB[je?{k3zQ vZ;%Ɠ,]E>KZ+T/ EJxOZ1i #T<@ I}q9/t'zi(EMqw`mYkU6;[t4DPeckeM;H}_g pMww}k6#H㶏+b8雡Sxp)&C $@'b,fPߑt$RbJ'vznuS ~8='72_`{q纶|Q)Xk}cPz9p7O:'|G~8wx(a 0QCko|0ASD>Ip=4Q, d|F8RcU"/KM opKle M3#i0c%<7׿p&pZq[TR"BpqauIp$ 8~Ĩ!8Սx\ւdT>>Z40ks7 z2IQ}ItԀ<-%S⍤};zIb$I 5K}Q͙D8UguWE$Jh )cu4N tZl+[]M4k8֦Zeq֮M7uIqG 1==tLtR,ƜSrHYt&QP윯Lg' I,3@P'}'R˪e/%-Auv·ñ\> vDJzlӾNv5:|K/Jb6KI9)Zh*ZAi`?S {aiVDԲuy5W7pWeQJk֤#5&V<̺@/GH?^τZL|IJNvI:'P=Ϛt"¨=cud S Q.Ki0 !cJy;LJR;G{BJy޺[^8fK6)=yʊ+(k|&xQ2`L?Ȓ2@Mf 0C`6-%pKpm')c$׻K5[J*U[/#hH!6acB JA _|uMvDyk y)6OPYjœ50VT K}cǻP[ $:]4MEA.y)|B)cf-A?(e|lɉ#P9V)[9t.EiQPDѠ3ϴ;E:+Օ t ȥ~|_N2,ZJLt4! %ա]u {+=p.GhNcŞQI?Nd'yeh n7zi1DB)1S | S#ًZs2|Ɛy$F SxeX{7Vl.Src3E℃Q>b6G ўYCmtկ~=K0f(=LrAS GN'ɹ9<\!a`)֕y[uՍ[09` 9 +57ts6}b4{oqd+J5fa/,97J#6yν99mRWxJyѡyu_TJc`~W>l^q#Ts#2"nD1%fS)FU w{ܯ R{ ˎ󅃏џDsZSQS;LV;7 Od1&1n$ N /.q3~eNɪ]E#oM~}v֯FڦwyZ=<<>Xo稯lfMFV6p02|*=tV!c~]fa5Y^Q_WN|Vs 0ҘދU97OI'N2'8N֭fgg-}V%y]U4 峧p*91#9U kCac_AFңĪy뚇Y_AiuYyTTYЗ-(!JFLt›17uTozc. S;7A&&<ԋ5y;Ro+:' *eYJkWR[@F %SHWP 72k4 qLd'J "zB6{AC0ƁA6U.'F3:Ȅ(9ΜL;D]m8ڥ9}dU "v!;*13Rg^fJyShyy5auA?ɩGHRjo^]׽S)Fm\toy 4WQS@mE#%5ʈfFYDX ~D5Ϡ9tE9So_aU4?Ѽm%&c{n>.KW1Tlb}:j uGi(JgcYj0qn+>) %\!4{LaJso d||u//P_y7iRJ߬nHOy) l+@$($VFIQ9%EeKʈU. ia&FY̒mZ=)+qqoQn >L!qCiDB;Y<%} OgBxB!ØuG)WG9y(Ą{_yesuZmZZey'Wg#C~1Cev@0D $a@˲(.._GimA:uyw֬%;@!JkQVM_Ow:P.s\)ot- ˹"`B,e CRtaEUP<0'}r3[>?G8xU~Nqu;Wm8\RIkբ^5@k+5(By'L&'gBJ3ݶ!/㮻w҅ yqPWUg<e"Qy*167΃sJ\oz]T*UQ<\FԎ`HaNmڜ6DysCask8wP8y9``GJ9lF\G g's Nn͵MLN֪u$| /|7=]O)6s !ĴAKh]q_ap $HH'\1jB^s\|- W1:=6lJBqjY^LsPk""`]w)󭃈,(HC ?䔨Y$Sʣ{4Z+0NvQkhol6C.婧/u]FwiVjZka&%6\F*Ny#8O,22+|Db~d ~Çwc N:FuuCe&oZ(l;@ee-+Wn`44AMK➝2BRՈt7g*1gph9N) *"TF*R(#'88pm=}X]u[i7bEc|\~EMn}P瘊J)K.0i1M6=7'_\kaZ(Th{K*GJyytw"IO-PWJk)..axӝ47"89Cc7ĐBiZx 7m!fy|ϿF9CbȩV 9V-՛^pV̌ɄS#Bv4-@]Vxt-Z, &ֺ*diؠ2^VXbs֔Ìl.jQ]Y[47gj=幽ex)A0ip׳ W2[ᎇhuE^~q흙L} #-b۸oFJ_QP3r6jr+"nfzRJTUqoaۍ /$d8Mx'ݓ= OՃ| )$2mcM*cЙj}f };n YG w0Ia!1Q.oYfr]DyISaP}"dIӗթO67jqR ҊƐƈaɤGG|h;t]䗖oSv|iZqX)oalv;۩meEJ\!8=$4QU4Xo&VEĊ YS^E#d,yX_> ۘ-e\ "Wa6uLĜZi`aD9.% w~mB(02G[6y.773a7 /=o7D)$Z 66 $bY^\CuP. (x'"J60׿Y:Oi;F{w佩b+\Yi`TDWa~|VH)8q/=9!g߆2Y)?ND)%?Ǐ`k/sn:;O299yB=a[Ng 3˲N}vLNy;*?x?~L&=xyӴ~}q{qE*IQ^^ͧvü{Huu=R|>JyUlZV, B~/YF!Y\u_ݼF{_C)LD]m {H 0ihhadd nUkf3oٺCvE\)QJi+֥@tDJkB$1!Đr0XQ|q?d2) Ӣ_}qv-< FŊ߫%roppVBwü~JidY4:}L6M7f٬F "?71<2#?Jyy4뷢<_a7_=Q E=S1И/9{+93֮E{ǂw{))?maÆm(uLE#lïZ  ~d];+]h j?!|$F}*"4(v'8s<ŏUkm7^7no1w2ؗ}TrͿEk>p'8OB7d7R(A 9.*Mi^ͳ; eeUwS+C)uO@ =Sy]` }l8^ZzRXj[^iUɺ$tj))<sbDJfg=Pk_{xaKo1:-uyG0M ԃ\0Lvuy'ȱc2Ji AdyVgVh!{]/&}}ċJ#%d !+87<;qN޼Nفl|1N:8ya  8}k¾+-$4FiZYÔXk*I&'@iI99)HSh4+2G:tGhS^繿 Kتm0 вDk}֚+QT4;sC}rՅE,8CX-e~>G&'9xpW,%Fh,Ry56Y–hW-(v_,? ; qrBk4-V7HQ;ˇ^Gv1JVV%,ik;D_W!))+BoS4QsTM;gt+ndS-~:11Sgv!0qRVh!"Ȋ(̦Yl.]PQWgٳE'`%W1{ndΗBk|Ž7ʒR~,lnoa&:ü$ 3<a[CBݮwt"o\ePJ=Hz"_c^Z.#ˆ*x z̝grY]tdkP*:97YľXyBkD4N.C_[;F9`8& !AMO c `@BA& Ost\-\NX+Xp < !bj3C&QL+*&kAQ=04}cC!9~820G'PC9xa!w&bo_1 Sw"ܱ V )Yl3+ס2KoXOx]"`^WOy :3GO0g;%Yv㐫(R/r (s } u B &FeYZh0y> =2<Ϟc/ -u= c&׭,.0"g"7 6T!vl#sc>{u/Oh Bᾈ)۴74]x7 gMӒ"d]U)}" v4co[ ɡs 5Gg=XR14?5A}D "b{0$L .\4y{_fe:kVS\\O]c^W52LSBDM! C3Dhr̦RtArx4&agaN3Cf<Ԉp4~ B'"1@.b_/xQ} _߃҉/gٓ2Qkqp0շpZ2fԫYz< 4L.Cyυι1t@鎫Fe sYfsF}^ V}N<_`p)alٶ "(XEAVZ<)2},:Ir*#m_YӼ R%a||EƼIJ,,+f"96r/}0jE/)s)cjW#w'Sʯ5<66lj$a~3Kʛy 2:cZ:Yh))+a߭K::N,Q F'qB]={.]h85C9cr=}*rk?vwV렵ٸW Rs%}rNAkDv|uFLBkWY YkX מ|)1!$#3%y?pF<@<Rr0}: }\J [5FRxY<9"SQdE(Q*Qʻ)q1E0B_O24[U'],lOb ]~WjHޏTQ5Syu wq)xnw8~)c 쫬gٲߠ H% k5dƝk> kEj,0% b"vi2Wس_CuK)K{n|>t{P1򨾜j>'kEkƗBg*H%'_aY6Bn!TL&ɌOb{c`'d^{t\i^[uɐ[}q0lM˕G:‚4kb祔c^:?bpg… +37stH:0}en6x˟%/<]BL&* 5&fK9Mq)/iyqtA%kUe[ڛKN]Ě^,"`/ s[EQQm?|XJ߅92m]G.E΃ח U*Cn.j_)Tѧj̿30ڇ!A0=͜ar I3$C^-9#|pk!)?7.x9 @OO;WƝZBFU keZ75F6Tc6"ZȚs2y/1 ʵ:u4xa`C>6Rb/Yм)^=+~uRd`/|_8xbB0?Ft||Z\##|K 0>>zxv8۴吅q 8ĥ)"6>~\8:qM}#͚'ĉ#p\׶ l#bA?)|g g9|8jP(cr,BwV (WliVxxᡁ@0Okn;ɥh$_ckCgriv}>=wGzβ KkBɛ[˪ !J)h&k2%07δt}!d<9;I&0wV/ v 0<H}L&8ob%Hi|޶o&h1L|u֦y~󛱢8fٲUsւ)0oiFx2}X[zVYr_;N(w]_4B@OanC?gĦx>мgx>ΛToZoOMp>40>V Oy V9iq!4 LN,ˢu{jsz]|"R޻&'ƚ{53ўFu(<٪9:΋]B;)B>1::8;~)Yt|0(pw2N%&X,URBK)3\zz&}ax4;ǟ(tLNg{N|Ǽ\G#C9g$^\}p?556]/RP.90 k,U8/u776s ʪ_01چ|\N 0VV*3H鴃J7iI!wG_^ypl}r*jɤSR 5QN@ iZ#1ٰy;_\3\BQQ x:WJv츟ٯ$"@6 S#qe딇(/P( Dy~TOϻ<4:-+F`0||;Xl-"uw$Цi󼕝mKʩorz"mϺ$F:~E'ҐvD\y?Rr8_He@ e~O,T.(ފR*cY^m|cVR[8 JҡSm!ΆԨb)RHG{?MpqrmN>߶Y)\p,d#xۆWY*,l6]v0h15M˙MS8+EdI='LBJIH7_9{Caз*Lq,dt >+~ّeʏ?xԕ4bBAŚjﵫ!'\Ը$WNvKO}ӽmSşذqsOy?\[,d@'73'j%kOe`1.g2"e =YIzS2|zŐƄa\U,dP;jhhhaxǶ?КZ՚.q SE+XrbOu%\GتX(H,N^~]JyEZQKceTQ]VGYqnah;y$cQahT&QPZ*iZ8UQQM.qo/T\7X"u?Mttl2Xq(IoW{R^ ux*SYJ! 4S.Jy~ BROS[V|žKNɛP(L6V^|cR7i7nZW1Fd@ Ara{詑|(T*dN]Ko?s=@ |_EvF]׍kR)eBJc" MUUbY6`~V޴dJKß&~'d3i WWWWWW
Current Directory: /usr/share/emacs/24.3/lisp/vc
Viewing File: /usr/share/emacs/24.3/lisp/vc/vc-cvs.elc
;ELC ;;; Compiled by mockbuild@buildfarm01-new.corp.cloudlinux.com on Tue Nov 11 12:52:18 2025 ;;; from file /builddir/build/BUILD/emacs-24.3/lisp/vc/vc-cvs.el ;;; in Emacs version 24.3.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. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (put 'CVS 'vc-functions nil) (defalias 'vc-cvs-revision-granularity #[0 "\300\207" [file] 1 "\n\n(fn)"]) #@58 CVS-specific version of `vc-checkout-model'. (fn FILES) (defalias 'vc-cvs-checkout-model #[257 "\300\301!\203\302\207\211:\203\211@\202\211\303!\304\305\"\2064\306\305\2032\307\310\3118\"\2032\302\2023\312#\207" [getenv "CVSREAD" announce file-attributes vc-file-getprop vc-checkout-model vc-file-setprop string-match "r-..-..-." 8 implicit] 10 (#$ . 657)]) (byte-code "\300\301\302\303\304\305\306\307&\210\310\311\312\313\314DD\315\316\317\304\320\306\301& \210\310\321\312\313\322DD\323\316\324\304\325\306\301& \210\310\326\312\313\327DD\330\316\331\304\325\306\301& \210\310\332\312\313\333DD\334\304\305\316\335\306\301& \210\310\336\312\313\337DD\340\316\341\304\325\306\301& \210\310\342\312\313\343DD\344\316\345\304\346\306\301& \210\310\347\312\313\350DD\351\316\352\304\320\306\301& \210\310\353\312\313\354DD\355\316\356\304\320\306\301& \207" [custom-declare-group vc-cvs nil "VC CVS backend." :version "24.1" :group vc custom-declare-variable vc-cvs-global-switches funcall function #[0 "\300\207" [nil] 1 "\n\n(fn)"] "Global switches to pass to any CVS command." :type (choice (const :tag "None" nil) (string :tag "Argument String") (repeat :tag "Argument List" :value (#1="") string)) "22.1" vc-cvs-register-switches #[0 "\300\207" [nil] 1 "\n\n(fn)"] "Switches for registering a file into CVS.\nA string or list of strings passed to the checkin program by\n\\[vc-register]. If nil, use the value of `vc-register-switches'.\nIf t, use no switches." (choice (const :tag "Unspecified" nil) (const :tag "None" t) (string :tag "Argument String") (repeat :tag "Argument List" :value (#1#) string)) "21.1" vc-cvs-diff-switches #[0 "\300\207" [nil] 1 "\n\n(fn)"] "String or list of strings specifying switches for CVS diff under VC.\nIf nil, use the value of `vc-diff-switches'. If t, use no switches." (choice (const :tag "Unspecified" nil) (const :tag "None" t) (string :tag "Argument String") (repeat :tag "Argument List" :value (#1#) string)) vc-cvs-header #[0 "\300\207" [("$Id$")] 1 "\n\n(fn)"] "Header keywords to be inserted by `vc-insert-headers'." (repeat string) vc-cvs-use-edit #[0 "\300\207" [t] 1 "\n\n(fn)"] "Non-nil means to use `cvs edit' to \"check out\" a file.\nThis is only meaningful if you don't use the implicit checkout model\n(i.e. if you have $CVSREAD set)." boolean vc-cvs-stay-local #[0 "\300\207" [only-file] 1 "\n\n(fn)"] "Non-nil means use local operations when possible for remote repositories.\nThis avoids slow queries over the network and instead uses heuristics\nand past information to determine the current status of a file.\n\nIf value is the symbol `only-file' `vc-dir' will connect to the\nserver, but heuristics will be used to determine the status for\nall other VC operations.\n\nThe value can also be a regular expression or list of regular\nexpressions to match against the host name of a repository; then VC\nonly stays local for hosts that match it. Alternatively, the value\ncan be a list of regular expressions where the first element is the\nsymbol `except'; then VC always stays local except for hosts matched\nby these regular expressions." (choice (const :tag "Always stay local" t) (const :tag "Only for file operations" only-file) (const :tag "Don't stay local" nil) (list :format "\nExamine hostname and %v" :tag "Examine hostname ..." (set :format "%v" :inline t (const :format "%t" :tag "don't" except)) (regexp :format " stay local,\n%t: %v" :tag "if it matches") (repeat :format "%v%i\n" :inline t (regexp :tag "or")))) "23.1" vc-cvs-sticky-date-format-string #[0 "\300\207" ["%c"] 1 "%c\n\n(fn)"] "Format string for mode-line display of sticky date.\nFormat is according to `format-time-string'. Only used if\n`vc-cvs-sticky-tag-display' is t." (string) vc-cvs-sticky-tag-display #[0 "\300\207" [t] 1 "\n\n(fn)"] "Specify the mode-line display of sticky tags.\nValue t means default display, nil means no display at all. If the\nvalue is a function or macro, it is called with the sticky tag and\nits' type as parameters, in that order. TYPE can have three different\nvalues: `symbolic-name' (TAG is a string), `revision-number' (TAG is a\nstring) and `date' (TAG is a date as returned by `encode-time'). The\nreturn value of the function or macro will be displayed as a string.\n\nHere's an example that will display the formatted date for sticky\ndates and the word \"Sticky\" for sticky tag names and revisions.\n\n (lambda (tag type)\n (cond ((eq type 'date) (format-time-string\n vc-cvs-sticky-date-format-string tag))\n ((eq type 'revision-number) \"Sticky\")\n ((eq type 'symbolic-name) \"Sticky\")))\n\nHere's an example that will abbreviate to the first character only,\nany text before the first occurrence of `-' for sticky symbolic tags.\nIf the sticky tag is a revision number, the word \"Sticky\" is\ndisplayed. Date and time is displayed for sticky dates.\n\n (lambda (tag type)\n (cond ((eq type 'date) (format-time-string \"%Y%m%d %H:%M\" tag))\n ((eq type 'revision-number) \"Sticky\")\n ((eq type 'symbolic-name)\n (condition-case nil\n (progn\n (string-match \"\\\\([^-]*\\\\)\\\\(.*\\\\)\" tag)\n (concat (substring (match-string 1 tag) 0 1) \":\"\n (substring (match-string 2 tag) 1 nil)))\n (error tag))))) ; Fall-back to given tag name.\n\nSee also variable `vc-cvs-sticky-date-format-string'." (choice boolean function)] 10) #@45 Check if FILE is CVS registered. (fn FILE) (defalias 'vc-cvs-registered #[257 "\301!\206\302\303!\304\305\306\307\"!\205V\211\302\230\206V\310\311!r\211q\210\312\313\314\315\316\317!\320\"\321\322%DC\216\323!\210eb\210\324\325\326!\327Q\304\330#\203R\331 \210\332!\210\330\202S\304*\262)\207" [case-fold-search file-name-directory "" file-name-nondirectory nil file-readable-p expand-file-name "CVS/Entries" generate-new-buffer " *temp*" funcall make-byte-code 0 "\301\300!\205 \302\300!\207" vconcat vector [buffer-name kill-buffer] 2 "\n\n(fn)" vc-cvs-get-entries re-search-forward "^/" regexp-quote "/[^/]" t beginning-of-line vc-cvs-parse-entry] 11 (#$ . 6193)]) #@48 CVS-specific version of `vc-state'. (fn FILE) (defalias 'vc-cvs-state #[257 "\301\302\"\203\303\304\"\211\305>\203\306!\202\211\207\307\310!r\211q\210\311\312\313\314\315\316!\317\"\320\321%DC\216\322\323!!\210\324\325\326\313\327$\210)\330\326!*\207" [process-file-side-effects vc-stay-local-p CVS vc-file-getprop vc-state (up-to-date edited nil) vc-cvs-state-heuristic generate-new-buffer " *temp*" funcall make-byte-code 0 "\301\300!\205 \302\300!\207" vconcat vector [buffer-name kill-buffer] 2 "\n\n(fn)" cd file-name-directory nil vc-cvs-command t "status" vc-cvs-parse-status] 9 (#$ . 6884)]) #@42 CVS-specific state heuristic. (fn FILE) (defalias 'vc-cvs-state-heuristic #[257 "\300\301\"\302\303!8\232\203\304\202(\305!\306\230\203\307\202(\204'\310\202(\311\207" [vc-file-getprop vc-checkout-time 5 file-attributes up-to-date vc-working-revision "0" added unregistered edited] 5 (#$ . 7506)]) #@59 CVS-specific version of `vc-working-revision'. (fn FILE) (defalias 'vc-cvs-working-revision #[257 "\300!\210\301\302\"\207" [vc-cvs-registered vc-file-getprop vc-working-revision] 4 (#$ . 7825)]) #@262 Return a string for `vc-mode-line' to put in the mode line for FILE. Compared to the default implementation, this function does two things: Handle the special case of a CVS file that is added but not yet committed and support display of sticky tags. (fn FILE) (defalias 'vc-cvs-mode-line-string #[257 "\300\301\"\302\303\304\"\305\306\307#\262\211\262\310\311G!\203\202,\312\313#\262\314\315R\307#\207" [vc-file-getprop vc-cvs-sticky-tag nil vc-default-mode-line-string CVS get-text-property 0 help-echo propertize zerop format "%s on the '%s' branch" "[" "]"] 9 (#$ . 8031)]) #@238 Register FILES into the CVS version-control system. COMMENT can be used to provide an initial description of FILES. Passes either `vc-cvs-register-switches' or `vc-register-switches' to the CVS command. (fn FILES &optional REV COMMENT) (defalias 'vc-cvs-register #[769 "\300\211\203$\211@\301!\204\302!\203\303\304!!B\262A\266\202\202\210\211\203-\305!\210\210\306\307\300\310\311\205F\312\313\"\205F\314P\315\316\317\"&\207" [nil vc-cvs-responsible-p vc-cvs-could-register directory-file-name file-name-directory vc-cvs-register apply vc-cvs-command 0 "add" string-match "[^ \n ]" "-m" vc-switches CVS register] 13 (#$ . 8633)]) #@69 Return non-nil if CVS thinks it is responsible for FILE. (fn FILE) (defalias 'vc-cvs-responsible-p #[257 "\300\301\302\300!\203 \202\303!\"!\207" [file-directory-p expand-file-name "CVS" file-name-directory] 6 (#$ . 9297)]) #@144 Return non-nil if FILE could be registered in CVS. This is only possible if CVS is managing FILE's directory or one of its parents. (fn FILE) (defalias 'vc-cvs-could-register #[257 "\211\211;\203*\211\300!\211\262\232\204*\211\203*\301\302\303\"!\203\"\304\202%\305!\262\202\211\304=\207" [file-name-directory file-exists-p expand-file-name "CVS/Entries" t directory-file-name] 6 (#$ . 9535)]) #@71 CVS-specific version of `vc-backend-checkin'. (fn FILES REV COMMENT) (defalias 'vc-cvs-checkin #[771 "\203E\302!\204E\303!\204\304\305\"\210\202E\306\307\310\311\312\313C&\210\306\307\310\311\314\315C&\210\316\317\320\321\322\323!\324\"\325\326%\"\210\306\307\310\327\330\205U\315P\331P\332\333\334\"&\335q\210eb\210\336!\204\220\337\340\310\341#\203\202\316\342\"\210\304\343\344\345!\"\210\202\220\346p!\210eb\210\347 \210\304\350!\210G\327U\203\263\351@\352\353\354eb\210\337 \310\341#\205\255\355!*#\210\202\270\316\356\"\210\316\357\"\210\205\320\303!?\205\320\307\310\311\314\360%\207" [i pattern vc-cvs-valid-revision-number-p vc-cvs-valid-symbolic-tag-name-p error "%s is not a valid symbolic tag name" apply vc-cvs-command nil 0 "tag" "-b" "update" "-r" mapc make-byte-code 257 "\301\302\300#\207" vconcat vector [vc-file-setprop vc-cvs-sticky-tag] 5 "\n\n(fn FILE)" 1 "ci" "-m" vc-switches CVS checkin "*vc*" zerop re-search-forward "Up-to-date check failed" t #[257 "\300\301\302#\207" [vc-file-setprop vc-state needs-merge] 5 "\n\n(fn FILE)"] "%s" substitute-command-keys "Up-to-date check failed: type \\[vc-next-action] to merge in changes" pop-to-buffer shrink-window-if-larger-than-buffer "Check-in failed" vc-file-setprop vc-working-revision "^\\(new\\|initial\\) revision: \\([0-9.]+\\)" 2 match-string vc-file-clearprops #[257 "\300\301\302#\207" [vc-file-setprop vc-checkout-model nil] 5 "\n\n(fn FILE)"] "-A"] 14 (#$ . 9948)]) (defalias 'vc-cvs-find-revision #[771 "\300\301\302\303\304\205\305\230?\205\306 P\307\310\311\312\"& \207" [apply vc-cvs-command 0 "-Q" "update" "" "-r" "-p" vc-switches CVS checkout] 15 "\n\n(fn FILE REV BUFFER)"]) #@177 Checkout a revision of FILE into the working area. EDITABLE non-nil means that the file should be writable. REV is the revision to check out. (fn FILE &optional EDITABLE REV) (defalias 'vc-cvs-checkout #[769 "\302\303\"\210r\304!\206 pq\210\305!\203L\211\204L\203\202\306C!\307=\204\202\2034\310\311\312\313$\210\202\202\314\315\316!\317\"\"\210 \232\203\202\320\321!\210\202\202\322\323\311#\210\324\310\311\312\205^\325\326\205{\327=?\205{\330\230\203w\331\202{\332P\333\334\335\"&\210\336\334\"\210)\302\337\"\207" [vc-cvs-use-edit buffer-file-name message "Checking out %s..." get-file-buffer file-exists-p vc-cvs-checkout-model implicit vc-cvs-command nil 0 "edit" set-file-modes logior file-modes 128 read-only-mode -1 vc-file-setprop vc-working-revision apply "-w" "update" t "" "-A" "-r" vc-switches CVS checkout vc-mode-line "Checking out %s...done"] 14 (#$ . 11689)]) (defalias 'vc-cvs-delete-file #[257 "\300\301\302\303\304%\207" [vc-cvs-command nil 0 "remove" "-f"] 7 "\n\n(fn FILE)"]) #@95 Revert FILE to the working revision on which it was based. (fn FILE &optional CONTENTS-DONE) (defalias 'vc-cvs-revert #[513 "\301\302#\210\303C!\304=?\205$\203\305\306\307\310$\207\311\312\313!\314\"\"\207" [vc-cvs-use-edit vc-default-revert CVS vc-cvs-checkout-model implicit vc-cvs-command nil 0 "unedit" set-file-modes logand file-modes 3950] 7 (#$ . 12737)]) #@162 Merge changes into current working copy of FILE. The changes are between FIRST-REVISION and SECOND-REVISION. (fn FILE FIRST-REVISION &optional SECOND-REVISION) (defalias 'vc-cvs-merge #[770 "\300\301\302\303\304\305P\305P&\210\306\307\310#\210r\311\312!q\210eb\210\313\314\301\315#\2032\306\307\316#\210\317\2029\306\307\310#\210\302)\207" [vc-cvs-command nil 0 "update" "-kk" "-j" vc-file-setprop vc-state edited get-buffer "*vc*" re-search-forward "conflicts during merge" t conflict 1] 12 (#$ . 13118)]) #@51 Merge in any new changes made to FILE. (fn FILE) (defalias 'vc-cvs-merge-news #[257 "\301\302\"\210\303\304\305#\210\306\307\211\310$\210r\311\312!q\210eb\210\313\314\307\315#\203.\303\316\317\320!#\210\2024\303\316\307#\210\321 \305=\203?\305\202\241\313\322\323\324\325\"GT\307O!\326Q\307\315#\203\232\317\327!\204j\317\320!\330\230\204j\317\320!\331\230\203~\303\332\333#\210\303\304\334\335!8#\210\305\202\241\317\320!\336\230\203\220\303\332\337#\210\305\202\241\303\332\340#\210\320\202\241\341\312!\210\342\343!\301\344\"\210)\207" [default-directory message "Merging changes into %s..." vc-file-setprop vc-checkout-time 0 vc-cvs-command nil "update" get-buffer "*vc*" re-search-forward "^Merging differences between [0-9.]* and \\([0-9.]*\\) into" t vc-working-revision match-string 1 buffer-size "^\\([CMUP] \\)?" regexp-quote expand-file-name "." "\\( already contains the differences between \\)?" 2 "U " "P " vc-state up-to-date 5 file-attributes "M " edited conflict pop-to-buffer error "Couldn't analyze cvs update result" "Merging changes into %s...done"] 8 (#$ . 13643)]) #@147 Modify the change comments for FILES on a specified REV. Will fail unless you have administrative privileges on the repo. (fn FILES REV COMMENT) (defalias 'vc-cvs-modify-change-comment #[771 "\300\301\302\303\304\305R%\207" [vc-cvs-command nil 0 "admin" "-m" ":"] 12 (#$ . 14764)]) #@99 Get change logs associated with FILES. (fn FILES BUFFER &optional SHORTLOG START-REVISION LIMIT) (defalias 'vc-cvs-print-log #[1282 "\300\301!\210\302\303\304\"\203\305\202\306\307$\210rq\210\310\311 !\210)\211\205'\312\207" [require vc-rcs vc-cvs-command vc-stay-local-p CVS async 0 "log" vc-exec-after vc-rcs-print-log-cleanup limit-unsupported] 10 (#$ . 15058)]) #@43 Get comment history of a file. (fn FILE) (defalias 'vc-cvs-comment-history #[257 "\300\301\302#\207" [vc-call-backend RCS comment-history] 5 (#$ . 15442)]) #@111 Get a difference report using CVS between two revisions of FILE. (fn FILES &optional OLDVERS NEWVERS BUFFER) (defalias 'vc-cvs-diff #[1025 "\303 ?\205 \304\305\"\303\211\211\203\200\211@\203#\306\230\203(\307!\262\211\306\230\2031\303\262\310\"\204=\202A\310\"\311!\203p\211\203p\312\313 \206U\314\315\316\303\317\320\303\321\"\322\n!\322\n!D\"&\210\323\262\202vB\262)\266A\266\202\202\210\203\261\312\324\206\214\314\203\224\325\202\225\315\316 \205\240\326\fP \205\251\326\fP\320\305\321\"&\262\203\271\315\202\272\211)\207" [process-file-side-effects vc-disable-async-diff coding-system-for-read nil vc-stay-local-p CVS "" vc-working-revision vc-version-backup-file vc-coding-system-for-diff apply vc-do-command "*vc-diff*" 1 "diff" append vc-switches diff file-relative-name 0 vc-cvs-command async "-r"] 24 (#$ . 15607)]) (defconst vc-cvs-annotate-first-line-re "^[0-9]") (defalias 'vc-cvs-annotate-process-filter #[514 "\301\302\"P\262\303\"\204\304\302#\207\301\305\"\306\"\210\211\307\224\310O\"\207" [vc-cvs-annotate-first-line-re process-get output string-match process-put vc-filter set-process-filter 0 nil] 8 "\n\n(fn PROCESS STRING)"]) #@158 Execute "cvs annotate" on FILE, inserting the contents in BUFFER. Optional arg REVISION is a revision to annotate from. (fn FILE BUFFER &optional REVISION) (defalias 'vc-cvs-annotate-command #[770 "\301\302\303\"\203 \304\202\305\306\205\307P%\210\310!\211\2030\311\312\313!#\210\314\315\"\202@rq\210eb\210\316!\210e`S|)\207" [vc-cvs-annotate-first-line-re vc-cvs-command vc-stay-local-p CVS async 0 "annotate" "-r" get-buffer-process process-put vc-filter process-filter set-process-filter vc-cvs-annotate-process-filter re-search-forward] 10 (#$ . 16843)]) #@102 Return the current time, based at midnight of the current day, and encoded as fractional days. (fn) (defalias 'vc-cvs-annotate-current-time #[0 "\300\301\302\303\211\211\304\305\306 !\233%!\207" [vc-annotate-convert-time apply encode-time 0 3 decode-time current-time] 9 (#$ . 17429)]) #@102 Return the time of the next annotation (as fraction of days) systime, or nil if there is none. (fn) (defalias 'vc-cvs-annotate-time #[0 "`\302\303\"\304\211\211\204]\305\306!\203]\307\310\311!!\312\310\313!!\314\236A\307\310\315!!\316V\203/\317\202:\320V\2039\321\202:\322\\\262\323\211T\303\322\225\322\224Z\324\325\322\211\211\f\f\f&!B\211\262 $\266\211\205i@\\b\210\211A*\207" [inhibit-read-only inhibit-modification-hooks get-text-property vc-cvs-annotate-time t looking-at "^\\S-+\\s-+\\S-+\\s-+\\([0-9]+\\)-\\(\\sw+\\)-\\([0-9]+\\)): " string-to-number match-string 1 intern 2 ((Jan . 1) (Feb . 2) (Mar . 3) (Apr . 4) (May . 5) (Jun . 6) (Jul . 7) (Aug . 8) (Sep . 9) (Oct . 10) (Nov . 11) (Dec . 12)) 3 69 2000 100 1900 0 put-text-property vc-annotate-convert-time encode-time] 19 (#$ . 17723)]) (defalias 'vc-cvs-annotate-extract-revision-at-line #[0 "\212\300 \210\301\302\303 \304#\205\305\306!)\207" [beginning-of-line re-search-forward "^\\([0-9]+\\.[0-9]+\\(\\.[0-9]+\\)*\\) +(" line-end-position t match-string-no-properties 1] 4 "\n\n(fn)"]) (defalias 'vc-cvs-previous-revision #[514 "\300\301\302$\207" [vc-call-backend RCS previous-revision] 7 "\n\n(fn FILE REV)"]) (defalias 'vc-cvs-next-revision #[514 "\300\301\302$\207" [vc-call-backend RCS next-revision] 7 "\n\n(fn FILE REV)"]) (defalias 'vc-cvs-update-changelog #[257 "\300\301\302#\207" [vc-call-backend RCS update-changelog] 5 "\n\n(fn FILES)"]) #@195 Assign to DIR's current revision a given NAME. If BRANCHP is non-nil, the name is created as a branch (and the current workspace is immediately moved to that new branch). (fn DIR NAME BRANCHP) (defalias 'vc-cvs-create-tag #[771 "\300\301\302\303\304\205\f\305&\210\211\205\300\301\302\306\307&\207" [vc-cvs-command nil 0 "tag" "-c" "-b" "update" "-r"] 11 (#$ . 19182)]) #@186 Retrieve a tag at and below DIR. NAME is the name of the tag; if it is empty, do a `cvs update'. If UPDATE is non-nil, then update (resynch) any affected buffers. (fn DIR NAME UPDATE) (defalias 'vc-cvs-retrieve-tag #[771 "r\301\302!q\210\303\303\262\304 \210\203\305\230\203$\306\307\310\303\311$\210\2022\306\307\310\303\311\312 &\210\262\205\256eb\210m?\205\256\313\314!\203\250\315\316\317!\"\316\320!\321!\211\203\246\322\230\204a\323\230\203{\324\325\326#\210\324\327\303#\210\324\330\331\332!8#\210\202\231\333\230\204\207\334\230\203\231\324\325\335#\210\324\327\303#\210\324\330\310#\210\324\336#\210\337\307\211#\210\266\320y\210\2029)\266\202)\207" [default-directory get-buffer-create "*vc*" nil erase-buffer "" vc-cvs-command t 0 "update" "-r" looking-at "\\([CMUP]\\) \\(.*\\)" expand-file-name match-string 2 1 find-buffer-visiting "U" "P" vc-file-setprop vc-state up-to-date vc-working-revision vc-checkout-time 5 file-attributes "M" "C" edited vc-cvs-sticky-tag vc-resynch-buffer] 14 (#$ . 19573)]) #@71 Return non-nil if version backups should be made for FILE. (fn FILE) (defalias 'vc-cvs-make-version-backups-p #[257 "\300\301\"\207" [vc-stay-local-p CVS] 4 (#$ . 20640)]) #@56 Check if the current file has any headers in it. (fn) (defalias 'vc-cvs-check-headers #[0 "\212eb\210\300\301\302\303#)\207" [re-search-forward "\\$[A-Za-z\300-\326\330-\366\370-\377]+\\(: [ -#%-~\240-\377]*\\)?\\$" nil t] 4 (#$ . 20820)]) #@236 A wrapper around `vc-do-command' for use in vc-cvs.el. The difference to vc-do-command is that this function always invokes `cvs', and that it passes `vc-cvs-global-switches' to it before FLAGS. (fn BUFFER OKSTATUS FILES &rest FLAGS) (defalias 'vc-cvs-command #[899 "\301\302\206\303\304;\203B\202\305\"&\207" [vc-cvs-global-switches apply vc-do-command "*vc*" "cvs" append] 13 (#$ . 21069)]) (defalias 'vc-cvs-stay-local-p #[257 "\300\301\"\207" [vc-stay-local-p CVS] 4 "\n\n(fn FILE)"]) #@74 Hostname of the CVS server associated to workarea DIRNAME. (fn DIRNAME) (defalias 'vc-cvs-repository-hostname #[257 "\303\304\"\305!\205;\306\307!r\211q\210\310\311\312\313\314\315!\316\"\317\320%DC\216\206' \321!\210)eb\210\317\322`\323 {!8*\262\207" [file-name-coding-system default-file-name-coding-system coding-system-for-read expand-file-name "CVS/Root" file-readable-p generate-new-buffer " *temp*" funcall make-byte-code 0 "\301\300!\205 \302\300!\207" vconcat vector [buffer-name kill-buffer] 2 "\n\n(fn)" vc-insert-file vc-cvs-parse-root line-end-position] 10 (#$ . 21584)]) #@56 parse user@host/path into (user@host /path) (fn PATH) (defalias 'vc-cvs-parse-uhp #[257 "\300\301\"\203\302\303\"\302\304\"D\207\305D\207" [string-match "\\([^/]+\\)\\(/.*\\)" match-string 1 2 nil] 5 (#$ . 22187)]) #@491 Split CVS ROOT specification string into a list of fields. A CVS root specification of the form [:METHOD:][[USER@]HOSTNAME]:?/path/to/repository is converted to a normalized record with the following structure: (METHOD USER HOSTNAME CVS-ROOT). The default METHOD for a CVS root of the form /path/to/repository is `local'. The default METHOD for a CVS root of the form [USER@]HOSTNAME:/path/to/repository is `ext'. For an empty string, nil is returned (invalid CVS root). (fn ROOT) (defalias 'vc-cvs-parse-root #[257 "\301\302P\303\"A\211G\211\304U\203\305\202Y\211\306U\203.\307@!\211@\203&\310\202'\311B\262\202Y\211\312U\203B@\313\232?\205Y\310B\202Y\211\314U\203W\211A@)\307\3128!B\202YA\211\205\252\211@\211A@)\206i\313\3128\305\211\315\316\"\203\204\317\306\"\262\317\312\"\262\202\207\262\211\313\232\203\220\305\262\211\203\243\311\232\203\243\211\303Q\262\305\262F\266\205\207" [x split-string "x:" ":" 0 nil 1 vc-cvs-parse-uhp "ext" "local" 2 "" 3 string-match "\\(.*\\)@\\(.*\\)" match-string] 14 (#$ . 22416)]) #@217 Parse output of "cvs status" command in the current buffer. Set file properties accordingly. Unless FULL is t, parse only essential information. Note that this can never set the 'ignored state. (fn &optional FULL) (defalias 'vc-cvs-parse-status #[256 "\300\211\211eb\210\301\302!\203\303\304\305!!\262\306\307\310#\210\305y\210\202\311\312\300\313#\205\341\301\314!\211\262\2034\315\225b\210\311\316\300\313#\205\341\303\304\305!!\262\311\317\300\313#\203Q\304\305!\202R\320\262\203h\311\321\300\313#\203h\306\322\304\323!#\210\306\307\324\325\"\203\203\306\326\327\330\n!8#\210\331\202\340\324\332\"\203\217\333\202\340\324\334\"\203\233\335\202\340\324\336\"\203\257\203\253\337\202\340\340\202\340\324\341\"\203\273\342\202\340\324\343\"\203\307\344\202\340\324\345\"\203\323\346\202\340\324\320\"\203\337\310\202\340\333#\207" [nil looking-at "? \\(.*\\)" expand-file-name match-string 1 vc-file-setprop vc-state unregistered re-search-forward "^File: " t "no file " 0 "\\=\\([^ ]+\\)" "\\=[ ]+Status: \\(.*\\)" "Unknown" "\\(RCS Version\\|RCS Revision\\|Repository revision\\):[ ]+\\([0-9.]+\\)" vc-latest-revision 2 string-match "Up-to-date" vc-checkout-time 5 file-attributes up-to-date "Locally Modified" edited "Needs Merge" needs-merge "Needs \\(Checkout\\|Patch\\)" missing needs-update "Locally Added" added "Locally Removed" removed "File had conflicts " conflict] 13 (#$ . 23502)]) (defalias 'vc-cvs-after-dir-status #[257 "\301\211\211\211\211\211eb\210\302\303\301\304#\203\366\305\224\305\225}\210eb\210\306\307!\203(\310\311\312!!\262\306\313!\203E\314\310\311\312!\"!\262\315DB\262\312y\210\202(\306\316!\203N\304\262\302\317\301\304#\203\356\311\312!\262\314\310\311\320!\"!\262\311\321!\262\322\323\"\203v\324\202\323\322\325\"\203\202\326\202\323\322\327\"\203\216\330\202\323\322\331\"\203\242\203\236\332\202\323\333\202\323\322\334\"\203\256\335\202\323\322\336\"\203\272\337\202\323\322\340\"\203\306\341\202\323\322\342\"\203\322\315\202\323\326\262\203\337\301\262\202\356\324=\204\356DB\262db\210~\210\202\n!\207" [default-directory nil re-search-forward "\\(^=+\n\\([^=c?\n].*\n\\|\n\\)+\\)\\|\\(\\(^?? .*\n\\)+\\)\\|\\(^cvs status: \\(Examining\\|nothing\\) .*\n\\)" t 0 looking-at "cvs status: Examining \\(.+\\)" expand-file-name match-string 1 "? \\(.*\\)" file-relative-name unregistered "cvs status: nothing known about" "^File: \\(no file \\)?\\(.*[^ ]\\)[ ]+Status: \\(.*\\)" 2 3 string-match "Up-to-date" up-to-date "Locally Modified" edited "Needs Merge" needs-merge "Needs \\(Checkout\\|Patch\\)" missing needs-update "Locally Added" added "Locally Removed" removed "File had conflicts " conflict "Unknown"] 12 "\n\n(fn UPDATE-FUNCTION)"]) #@115 Find the CVS state of all files in DIR, using only local information. (fn DIR UPDATE-FUNCTION &optional BASEDIR) (defalias 'vc-cvs-dir-status-heuristic #[770 "\300\211\211\211\211\301\302!r\211q\210\303\304\305\306\307\310!\311\"\312\313%DC\216\314 !\210eb\210m\204\315\316!\203=\317\320\321!\n\"B\262\202y\315\322!\203y\320\321!\262\317\n\"\262\323\324\"\206\\\325\326\"\262\327=\204y\203r\330\"\202sDB\262\321y\210\202%*\210\211\211\203\237\211@\331\332\300\f\206\224#\"\262A\266\202\202\202\210\203\250\202\254!\207" [nil generate-new-buffer " *temp*" funcall make-byte-code 0 "\301\300!\205 \302\300!\207" vconcat vector [buffer-name kill-buffer] 2 "\n\n(fn)" vc-cvs-get-entries looking-at "D/\\([^/]*\\)////" expand-file-name match-string 1 "/\\([^/]*\\)/[^/-]" vc-file-getprop vc-state vc-cvs-parse-entry t up-to-date file-relative-name append vc-cvs-dir-status-heuristic] 16 (#$ . 26324)]) #@75 Create a list of conses (file . state) for DIR. (fn DIR UPDATE-FUNCTION) (defalias 'vc-cvs-dir-status #[514 "\300\301\"\211\203\211\302=\204\303\"\202$\304p\305\306\307%\210\310\311\312DD!\207" [vc-stay-local-p CVS only-file vc-cvs-dir-status-heuristic vc-cvs-command async "-f" "status" vc-exec-after vc-cvs-after-dir-status quote] 9 (#$ . 27282)]) #@95 Create a list of conses (file . state) for DIR. (fn DIR FILES DEFAULT-STATE UPDATE-FUNCTION) (defalias 'vc-cvs-dir-status-files #[1028 "\300\301p\302\303\304 &\210\305\306\307DD!\207" [apply vc-cvs-command async "-f" "status" vc-exec-after vc-cvs-after-dir-status quote] 12 (#$ . 27649)]) #@64 Read the content of FILE and return it as a string. (fn FILE) (defalias 'vc-cvs-file-to-string #[257 "\300\301\302\303\304\305\306!\307\"\310\311%D\312\301\313\300EDC\217\207" [#1=#:err funcall make-byte-code 0 "\301\302!r\211q\210\303\304\305\306\307\310!\311\"\312\313%DC\216\314\300!\210eb\210`d{*\207" vconcat vector [generate-new-buffer " *temp*" funcall make-byte-code 0 "\301\300!\205 \302\300!\207" vconcat vector [buffer-name kill-buffer] 2 "\n\n(fn)" insert-file-contents] 8 "\n\n(fn)" file-error #[257 "\300\207" [nil] 2 "\n\n(fn IGNORED)"]] 9 (#$ . 27950)]) #@81 Extract and represent per-directory properties of a CVS working copy. (fn DIR) (defalias 'vc-cvs-dir-extra-headers #[257 "\300\301\302D\303\301\304\300EDC\217\305\301\306D\303\301\307\305EDC\217\203*\310\311\312\313#\310\312\314#P\202+\315\203=\310\316\312\313#\310\312\314#P\202>\315\317\320!\205z\321\320!\322\323\"\203_\310\324\312\313#\310\325\326O\312\314#P\202x\322\327\"\203w\310\330\312\313#\310\325\326O\312\314#P\202x\315\262Q\207" [#1=#:err funcall #[0 "\300\301!r\211q\210\302\303\304\305\306\307!\310\"\311\312%DC\216\313\314!\210eb\210\315\316!\203)\317\320!\210`dS{\321P*\207" [generate-new-buffer #3=" *temp*" funcall make-byte-code 0 "\301\300!\205 \302\300!\207" vconcat vector [buffer-name kill-buffer] 2 "\n\n(fn)" insert-file-contents "CVS/Root" looking-at ":ext:" delete-char 5 "\n"] 8 "\n\n(fn)"] file-error #[257 "\300\207" [nil] 2 "\n\n(fn IGNORED)"] #2=#:err #[0 "\300\301!r\211q\210\302\303\304\305\306\307!\310\"\311\312%DC\216\313\314!\210eb\210\315\316w\210e`{\317P*\207" [generate-new-buffer #3# funcall make-byte-code 0 "\301\300!\205 \302\300!\207" vconcat vector [buffer-name kill-buffer] 2 "\n\n(fn)" insert-file-contents "CVS/Repository" "^\n" nil "\n"] 8 "\n\n(fn)"] #[257 "\300\207" [nil] 2 "\n\n(fn IGNORED)"] propertize "Repository : " face font-lock-type-face font-lock-variable-name-face "" "Module : " file-readable-p "CVS/Tag" vc-cvs-file-to-string string-match "\\`T" "Tag : " 1 nil "\\`D" "Date : "] 11 (#$ . 28532)]) #@272 Insert the CVS/Entries file from below DIR into the current buffer. This function ensures that the correct coding system is used for that, which may not be the one that is used for the files' contents. CVS/Entries should only be accessed through this function. (fn DIR) (defalias 'vc-cvs-get-entries #[257 "\206 \303\304\305\"!)\207" [file-name-coding-system default-file-name-coding-system coding-system-for-read vc-insert-file expand-file-name "CVS/Entries"] 5 (#$ . 30046)]) #@63 Return non-nil if TAG is a valid symbolic tag name. (fn TAG) (defalias 'vc-cvs-valid-symbolic-tag-name-p #[257 "\300\301\"\205\f\300\302\"?\207" [string-match "^[a-zA-Z]" "[^a-z0-9A-Z-_]"] 4 (#$ . 30536)]) #@61 Return non-nil if TAG is a valid revision number. (fn TAG) (defalias 'vc-cvs-valid-revision-number-p #[257 "\300\301\"\205\f\300\302\"?\207" [string-match "^[0-9]" "[^0-9.]"] 4 (#$ . 30752)]) #@100 Parse and return the sticky tag as a string. `match-data' is protected. (fn MATCH-TYPE MATCH-TAG) (defalias 'vc-cvs-parse-sticky-tag #[514 "\302 \303\304\230\203 \305\202\"\306\230\203!\307!\203\310\202\"\311\202\"\303\312\313\314\315\316\317!\320\"\321\322%DC\216\211\305=\203\226\323\324\"\210\325\326\327\"!\325\326\321\"!\325\326\330\"!\325\326\331 \"!\325\326\332\n\"!\325\326\333 \"!\334V\203s\335\202\336V\203~\337\202\314\\\340\n&\262 \266\202\253\211\310=\203\242\262\202\253\211\311=\203\253\262\303=\203\265\303\202\356\341=\203\340\211\305=\203\310\342 \"\202\356\211\310=\203\322\202\356\211\311=\203\334\202\356\303\202\356\343!\203\355\"\202\356\303)\207" [vc-cvs-sticky-tag-display vc-cvs-sticky-date-format-string match-data nil "D" date "T" vc-cvs-valid-symbolic-tag-name-p symbolic-name revision-number funcall make-byte-code 0 "\301\300!\207" vconcat vector [set-match-data] 2 "\n\n(fn)" string-match "\\([0-9]+\\)\\.\\([0-9]+\\)\\.\\([0-9]+\\)\\.\\([0-9]+\\)\\.\\([0-9]+\\)\\.\\([0-9]+\\)" string-to-number match-string 1 3 4 5 6 69 2000 100 1900 encode-time t format-time-string functionp] 19 (#$ . 30955)]) #@214 Parse a line from CVS/Entries. Compare modification time to that of the FILE, set file properties accordingly. However, `vc-state' is set only if optional arg SET-STATE is non-nil. (fn FILE &optional SET-STATE) (defalias 'vc-cvs-parse-entry #[513 "\301\302!\203\303\304\305#\210\303\306\307#\210\211\205\225\303\310\311#\207\301\312!\205\225\303\306\313\314!#\210\303\315\316\313\317!\313\320!\"#\210\313\321!\320\322!8\323\324!\210\325\326P!\327\330\"\204\204\211@\203\204\331\332\"@@=\205m\211A@)\211A@)=\262\203\204\303\304#\210\205\223\303\310\333#\202\223\303\304\305#\210\205\223\303\310\334#\266\203\207" [x looking-at "/[^/]+/0/" vc-file-setprop vc-checkout-time 0 vc-working-revision "0" vc-state added "/[^/]+/\\([^/]*\\)/\\([^/]*\\)/\\([^/]*\\)/\\(.\\|\\)\\(.*\\)" match-string 1 vc-cvs-sticky-tag vc-cvs-parse-sticky-tag 4 5 2 file-attributes require parse-time parse-time-string " +0000" string-match "\\+" apply encode-time up-to-date edited] 10 (#$ . 32168)]) (defalias 'vc-cvs-revision-table #[257 "\302\303!\302\302\262\302\262\304\305!r\211q\210\306\307\310\311\312\313!\314\"\315\316%DC\216\317\320\302\321$\210eb\210\322\323\302\320#\203Q\324\325!\203Q\326\327!\326\315!BB\262\327y\210\202:\322\330\302\320#\203c\326\327!B\262\202Q*\262*\207" [default-directory process-file-side-effects nil file-name-directory generate-new-buffer " *temp*" funcall make-byte-code 0 "\301\300!\205 \302\300!\207" vconcat vector [buffer-name kill-buffer] 2 "\n\n(fn)" vc-cvs-command t "log" re-search-forward "^symbolic names:\n" looking-at "^ \\(.*\\): \\(.*\\)" match-string 1 "^revision \\([0-9.]+\\)"] 12 "\n\n(fn FILE)"]) (defalias 'vc-cvs-revision-completion-table #[257 "\300C\211\301\302\303\304\305\306\"\307\"\310\311%!\240\210\211@\207" [nil completion-table-dynamic make-byte-code 257 "\302\301@!\203\301\303\304\305\306\307\300!\310\"\311\312% \240\210\301@\207" vconcat vector [functionp make-byte-code 0 "\301\300@!\207" vconcat vector [vc-cvs-revision-table] 2 "\n\n(fn)"] 8 "\n\n(fn STRING)"] 11 "\n\n(fn FILES)"]) (provide 'vc-cvs)