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/cedet/semantic
Viewing File: /usr/share/emacs/24.3/lisp/cedet/semantic/db-file.elc
;ELC ;;; Compiled by mockbuild@buildfarm01-new.corp.cloudlinux.com on Tue Nov 11 12:56:52 2025 ;;; from file /builddir/build/BUILD/emacs-24.3/lisp/cedet/semantic/db-file.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. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (byte-code "\300\301!\210\300\302!\210\300\303!\207" [require semantic/db cedet-files data-debug] 2) #@58 Version of semanticdb we are writing files to disk with. (defvar semanticdb-file-version semantic-version (#$ . 666)) #@59 Version of semanticdb we are not reverse compatible with. (defvar semanticdb-file-incompatible-version "1.4" (#$ . 790)) (byte-code "\302\303\304\305\306\307\310\311&\210\302\312\313\314\306\307\310\315&\210\302\316\317\320\306\307\310\321&\210\322\323\324\321#\210\325\321\211\203M @\323N\203F\324N\204F\326\324\323N#\210 A\211\204/*\327\323\324\330#\210\302\324\321\331\306\307\310\332&\207" [prop --dolist-tail-- custom-declare-variable semanticdb-default-file-name "semantic.cache" "File name of the semantic tag cache." :group semanticdb :type string semanticdb-default-save-directory (locate-user-emacs-file "semanticdb" ".semanticdb") "Directory name where semantic cache files are stored.\nIf this value is nil, files are saved in the current directory. If the value\nis a valid directory, then it overrides `semanticdb-default-file-name' and\nstores caches in a coded file name in this directory." (choice :tag "Default-Directory" :menu-tag "Default-Directory" (const :tag "Use current directory" :value nil) (directory)) semanticdb-persistent-path '(always) "List of valid paths that semanticdb will cache tags to.\nWhen `global-semanticdb-minor-mode' is active, tag lists will\nbe saved to disk when Emacs exits. Not all directories will have\ntags that should be saved.\nThe value should be a list of valid paths. A path can be a string,\nindicating a directory in which to save a variable. An element in the\nlist can also be a symbol. Valid symbols are `never', which will\ndisable any saving anywhere, `always', which enables saving\neverywhere, or `project', which enables saving in any directory that\npasses a list of predicates in `semanticdb-project-predicate-functions'." nil defvaralias semanticdb-save-database-hooks semanticdb-save-database-functions (saved-value saved-variable-comment) put make-obsolete-variable "24.3" "Abnormal hook run after a database is saved.\nEach function is called with one argument, the object representing\nthe database recently written." hook] 9) #@148 Character used for directory separation. Obsoleted in some versions of Emacs. Needed in others. NOTE: This should get deleted from semantic soon. (defvar semanticdb-dir-sep-char (byte-code "\300\301!\203 \301J\207\302\207" [boundp directory-sep-char 47] 2) (#$ . 2820)) #@144 If DIR is broken, fix it. Force DIR to end with a /. Note: Same as `file-name-as-directory'. NOTE: This should get deleted from semantic soon. (defalias 'semanticdb-fix-pathname #[(dir) "\301!\207" [dir file-name-as-directory] 2 (#$ . 3099)]) (byte-code "\300\301\302\303\304$\210\305\306\307\306\310\"\"\210\311\306\312\301\313$\207" [eieio-defclass semanticdb-project-database-file (semanticdb-project-database eieio-persistent) ((file-header-line :initform ";; SEMANTICDB Tags save file") (do-backups :initform nil) (semantic-tag-version :initarg :semantic-tag-version :initform "1.4" :documentation "The version of the tags saved.\nThe default value is 1.4. In semantic 1.4 there was no versioning, so\nwhen those files are loaded, this becomes the version number.\nTo save the version number, we must hand-set this version string.") (semanticdb-version :initarg :semanticdb-version :initform "1.4" :documentation "The version of the object system saved.\nThe default value is 1.4. In semantic 1.4, there was no versioning,\nso when those files are loaded, this becomes the version number.\nTo save the version number, we must hand-set this version string.")) ("Database of file tables saved to disk.") eieio--defalias semanticdb-create-database eieio--defgeneric-init-form #1="Create a new semantic database for DIRECTORY and return it.\nIf a database for DIRECTORY has already been loaded, return it.\nIf a database for DIRECTORY exists, then load that database, and return it.\nIf DIRECTORY doesn't exist, create a new one." eieio--defmethod :STATIC #[(dbc directory) "\306!\307 \"\310\n!\206\311\n!\205\312\n!\211\2041\313 \314\315!!\316P\317\n\320\321\322\f\323 &\n\324 \325#\210 *\207" [directory dbc fn db semantic-tag-version semanticdb-file-version file-truename semanticdb-cache-filename semanticdb-file-loaded-p file-exists-p semanticdb-load-database make-instance file-name-nondirectory directory-file-name "/" :file :tables nil :semantic-tag-version :semanticdb-version eieio-oset reference-directory] 12 #1#]] 5) #@29 Load the database FILENAME. (defalias 'semanticdb-load-database #[(filename) "\300\301\302\217\207" [foo (byte-code "\306 \"\307\n!\310\n\311\"\310\n\312\" \203%\313 @\314\n#\210 A\211\204 \232\2033 \f\232\204c\315\316!\210\317\320 \"\204X\317\321\f\"\203c\322\n!\210\313\n\311 #\210\323\324\"\210\202c\323\325\"\210\326\n!\210\327\n,\207" [filename semanticdb-project-database-file r c tv fv eieio-persistent-read semanticdb-get-database-tables eieio-oref semantic-tag-version semanticdb-version eieio-oset parent-db require inversion inversion-test semanticdb-file semantic-tag semanticdb-flush-database-tables message "Semanticdb file is old. Starting over for %s" "semanticdb file is old. Starting over for %s" delete-instance nil semanticdb-file-version] 5) ((error (message "Cache Error: [%s] %s, Restart" filename foo) nil))] 3 (#$ . 5152)]) #@68 Return the project belonging to FILENAME if it was already loaded. (defalias 'semanticdb-file-loaded-p #[(filename) "\301\302\303#\207" [filename eieio-instance-tracker-find file semanticdb-database-list] 4 (#$ . 6030)]) (byte-code "\300\301\302\301\303\"\"\210\304\301\305\306\307$\210\300\310\302\310\311\"\"\210\304\310\305\306\312$\210\300\313\302\313\314\"\"\210\304\313\305\315\316$\210\300\313\302\313\317\"\"\210\304\313\305\320\321$\207" [eieio--defalias semanticdb-file-directory-exists-p eieio--defgeneric-init-form #1="Does the directory the database DB needs to write to exist?\nIf SUPPRESS-QUESTIONS, then do not ask to create the directory." eieio--defmethod nil semanticdb-project-database-file #[(DB &optional suppress-questions) "\304\305\306\"!\211\204\307\202F\310 !\203\311\202F\n\204'\312\303!\203+ \203+\307\202F\313\314\315 \"!\203=\316 \311\"\210\311\202F\312\303!\203E\311\307)\207" [DB dest suppress-questions semanticdb--inhibit-make-directory file-name-directory eieio-oref file nil file-exists-p t boundp y-or-n-p format "Create directory %s for SemanticDB? " make-directory] 5 #1#] semanticdb-save-db #2="Write out the database DB to its file.\nIf DB is not specified, then use the current database." #[(DB &optional suppress-questions) "\304\305\"\306!\205+\307!\205+\310\n\"\205+\311!\205+\312\313\314\217\210\315\316\206* \")\207" [DB objname suppress-questions semanticdb-current-database eieio-oref file semanticdb-dirty-p semanticdb-live-p semanticdb-file-directory-exists-p semanticdb-write-directory-p foo (byte-code "\302\206 !\207" [DB semanticdb-current-database eieio-persistent-save] 2) ((file-error (message "%S: %s" foo objname)) (error (byte-code "<\203A@;\203\303\304A@\"\203\305A@!\210\202]<\203<A@;\203<\303\306A@\"\203<\305A@!\210\202] \204K\307\310\311A@\"!\203V\305\312A@\n#\210\202]\313\314A@\"\210\303\207" [foo suppress-questions objname string-match "write[- ]protected" message "no such directory" y-or-n-p format "Skip Error: %s ?" "Save Error: %S: %s" error "%S"] 4))) run-hook-with-args semanticdb-save-database-functions] 3 #2#] semanticdb-live-p #3="Return non-nil if the file associated with OBJ is live.\nLive databases are objects associated with existing directories." semanticdb-project-database #[(obj) "\301\302\"\205 \303\304\302\"!\207" [obj slot-boundp reference-directory file-exists-p eieio-oref] 4 #3#] #4="Return non-nil if the file associated with OBJ is live.\nLive files are either buffers in Emacs, or files existing on the filesystem." semanticdb-table #[(obj) "\302!\303 !\206 \304 !)\207" [obj full-filename semanticdb-full-filename find-buffer-visiting file-exists-p] 2 #4#]] 5) #@138 Run the data debugger on tables that issue errors. This variable is set to nil after the first error is encountered to prevent overload. (defvar semanticdb-data-debug-on-write-error nil (#$ . 8764)) (byte-code "\300\301\302\301\303\"\"\210\304\301\305\306\307$\210\300\310\302\310\311\"\"\210\304\310\305\312\313$\210\300\314\302\314\315\"\"\210\304\314\305\312\316$\210\300\317\302\317\320\"\"\210\304\317\321\312\322$\210\300\323\302\323\324\"\"\210\304\323\321\312\325$\210\300\326\302\326\327\"\"\210\304\326\321\312\330$\210\300\331\302\331\332\"\"\210\304\331\305\312\333$\207" [eieio--defalias object-write eieio--defgeneric-init-form #1="When writing a table, we have to make sure we deoverlay it first.\nRestore the overlays after writing.\nArgument OBJ is the object to write." eieio--defmethod nil semanticdb-table #[(obj) "\303!\205N\304!\203-r\304!q\210\305 \210\306 !\203& \203&\307\310\311 #\210\307\312d#\210)\313\314!!\307\315\316\n8#\210\307\317\320\n8#\210)\321\322\323\217\210\307\324\325#\207" [obj semantic-show-unmatched-syntax-mode fattr semanticdb-live-p semanticdb-in-buffer-p semantic-fetch-tags boundp eieio-oset unmatched-syntax semantic-show-unmatched-lex-tokens-fetch pointmax file-attributes semanticdb-full-filename fsize 7 lastmodtime 5 tableerror (call-next-method) ((error (byte-code "\203\303\304!\210\305\306!\210\307 \310\311#\210\312\313\314\315 !\"\210\316\317\nA@\"\207" [semanticdb-data-debug-on-write-error obj tableerror require data-debug data-debug-new-buffer "*SEMANTICDB ERROR*" data-debug-insert-thing "*" "" nil message "Error Writing Table: %s" object-name error "%S"] 4))) dirty nil] 5 #1#] semanticdb-write-directory-p #2="Return non-nil if OBJ should be written to disk.\nUses `semanticdb-persistent-path' to determine the return value." semanticdb-project-database-file #[(obj) "\302\303\215)\207" [semanticdb-persistent-path path found (byte-code "\203s@;\203\304 \305\"@\230\203l\306\307\310\"\210\202l@\311=\203H\n\2039\312\302\304 \305\"\"\203l\306\307\310\"\210\202l G\313U\203l\306\307\310\"\210\202l@\314=\203W\306\307\315\"\210\202l@\316=\203f\306\307\310\"\210\202l\317\320@\"\210A\211\204\321 \207" [path obj semanticdb-project-predicate-functions semanticdb-persistent-path eieio-oref reference-directory throw found t project run-hook-with-args-until-success 1 never nil always error "Invalid path %S" call-next-method] 6)] 2 #2#] semanticdb-file-table #3="From OBJ, return FILENAME's associated table object." #[(obj filename) "\302\303!\304\305 \306\"#\207" [filename obj object-assoc file-name-nondirectory file eieio-oref tables] 6 #3#] semanticdb-file-name-non-directory #4="Return the file name DBCLASS will use.\nFile name excludes any directory part." :STATIC #[(dbclass) "\207" [semanticdb-default-file-name] 1 #4#] semanticdb-file-name-directory #5="Return the relative directory to where DBCLASS will save its cache file.\nThe returned path is related to DIRECTORY." #[(dbclass directory) "\203\303 !\304\n\305!\")\207 \207" [semanticdb-default-save-directory directory file cedet-directory-name-to-file-name expand-file-name file-name-as-directory] 4 #5#] semanticdb-cache-filename #6="For DBCLASS, return a file to a cache file belonging to PATH.\nThis could be a cache file in the current directory, or an encoded file\nname in a secondary directory." #[(dbclass path) "\302 \"\303!P\207" [dbclass path semanticdb-file-name-directory semanticdb-file-name-non-directory] 3 #6#] semanticdb-full-filename #7="Fetch the full filename that OBJ refers to." #[(obj) "\301\302\"\207" [obj eieio-oref file] 3 #7#]] 5) #@130 Cleanup any cache files associated with directories that no longer exist. Optional NOERROR prevents errors from being displayed. (defalias 'semanticdb-cleanup-cache-files #[(&optional noerror) "\204\f \204\f\306\307!\210\205\264\310\n!\311\312 #\313\211\"\f\313#\211$\203M$@#\314\315#!!\316\317 !!\204D#\"B\"$A\211$\204)*\"\203\253\320 %\321\216\322\323!&r&q\210\324 \210\325c\210\"\313#\211$\203\207$@\211#\326\261\210$A\211$\204t+\327&\312\211#\210\330\331&!\313\332#\210\333\334!\205\247\335\336\"\"\210\337\340!+\202\263 ?\205\263\337\341!,\207" [semanticdb-default-save-directory noerror semanticdb-default-file-name regexp files orig error "No default save directory for semantic-save files" regexp-quote directory-files t nil cedet-file-name-to-directory-name file-name-nondirectory file-exists-p file-name-directory current-window-configuration ((set-window-configuration #1=#:wconfig)) get-buffer-create "*Semanticdb Delete*" erase-buffer "The following Cache files appear to be obsolete.\n\n" "\n" pop-to-buffer fit-window-to-buffer get-buffer-window 1 y-or-n-p "Delete Old Cache Files? " mapc #[(F) "\301\302\"\210\303!\207" [F message "Deleting to %s..." delete-file] 3] message "done." "No obsolete semanticdb.cache files." to-delete F --dolist-tail-- #1# buff] 5 (#$ . 12418) nil]) (provide 'semantic/db-file)