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/srecode
Viewing File: /usr/share/emacs/24.3/lisp/cedet/srecode/compile.elc
;ELC ;;; Compiled by mockbuild@buildfarm01-new.corp.cloudlinux.com on Tue Nov 11 12:57:41 2025 ;;; from file /builddir/build/BUILD/emacs-24.3/lisp/cedet/srecode/compile.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!\210\300\304!\210\300\305!\210\306\307\310\311\312$\207" [require semantic eieio eieio-base srecode/table srecode/dictionary eieio-defclass srecode-template (eieio-named) ((context :initarg :context :initform nil :documentation "Context this template belongs to.") (args :initarg :args :documentation "List of arguments that this template requires.") (code :initarg :code :documentation "Compiled text from the template.") (dictionary :initarg :dictionary :type (or null srecode-dictionary) :documentation "List of section dictionaries.\nThe compiled template can contain lists of section dictionaries,\nor values that are expected to be passed down into different\nsection macros. The template section dictionaries are merged in with\nany incoming dictionaries values.") (binding :initarg :binding :documentation "Preferred keybinding for this template in `srecode-minor-mode-map'.") (active :allocation :class :initform nil :documentation "During template insertion, this is the stack of active templates.\nThe top-most template is the 'active' template. Use the accessor methods\nfor push, pop, and peek for the active template.") (table :initarg :table :documentation "The table this template lives in.")) ("Class defines storage for semantic recoder templates.")] 5) #@120 Flush the active template storage. Useful if something goes wrong in SRecode, and the active template stack is broken. (defalias 'srecode-flush-active-templates #[nil "\301\302\"\203\303\304\305\301\302\"G\"!\205\306\302\307#\207\310\311!\207" [srecode-template eieio-oref active y-or-n-p format "%d active templates. Flush? " eieio-oset-default nil message "No active templates to flush."] 6 (#$ . 1886) nil]) (byte-code "\300\301\302\303\304$\210\305\306\307\306\310\"\"\210\311\306\312\301\313$\210\305\314\307\314\315\"\"\210\311\314\312\301\316$\210\305\317\307\317\320\"\"\210\311\317\312\301\321$\210\305\322\307\322\323\"\"\210\311\322\324\301\325$\210\300\326\312\327\330$\210\305\331\307\331\332\"\"\210\311\331\312\326\333$\207" [eieio-defclass srecode-template-inserter (eieio-named) ((secondname :initarg :secondname :type (or null string) :documentation "If there is a colon in the inserter's name, it represents\nadditional static argument data.")) ("This represents an item to be inserted via a template macro.\nPlain text strings are not handled via this baseclass." :abstract t) eieio--defalias srecode-parse-input eieio--defgeneric-init-form #1="For the template inserter INS, parse INPUT.\nShorten input only by the amount needed.\nReturn the remains of INPUT.\nSTATE is the current compilation state." eieio--defmethod nil #[(ins tag input STATE) "\207" [input] 1 #1#] srecode-match-end #2="For the template inserter INS, do I end a section called NAME?" #[(ins name) "\300\207" [nil] 1 #2#] srecode-inserter-apply-state #3="For the template inserter INS, apply information from STATE." #[(ins STATE) "\300\207" [nil] 1 #3#] srecode-inserter-prin-example #4="Insert an example using inserter INS.\nArguments ESCAPE-START and ESCAPE-END are the current escape sequences in use." :STATIC #[(ins escape-start escape-end) "\303\304!\210\303!\210\305 \306\"\203 \307 \306\"\203 \303\310\311\307 \306\"\"!\210\303\312!\210\303\n!\210\313 \207" [escape-start ins escape-end princ " " slot-exists-p key eieio-oref format "%c" "VARNAME" terpri] 6 #4#] srecode-compile-state ((context :initform "declaration" :documentation "The active context.") (prompts :initform nil :documentation "The active prompts.") (escape_start :initform "{{" :documentation "The starting escape sequence.") (escape_end :initform "}}" :documentation "The ending escape sequence.")) ("Current state of the compile.") srecode-compile-add-prompt #5="Add PROMPTTAG to the current list of prompts." #[(state prompttag) "\306\211@)\307\n\310\"\"\307\n\310\"\211\2036\307\n\310\"\311 \2035 @@@\230\204. @ B A\211\204 )\n \312 \310 B#+\207" [prompttag tag state newprompts match tmp assoc slot-value prompts nil eieio-oset #:v] 6 #5#]] 5) #@44 Compile the templates from the file FNAME. (defalias 'srecode-compile-file #[(fname) "\303!\212 \204\304!q\210\202 q\210\n\204\305 \210\306 \210 ?\205&\307p!*\207" [fname peb semantic-new-buffer-fcn-was-run get-file-buffer semantic-find-file-noselect semantic-new-buffer-fcn srecode-compile-templates kill-buffer] 2 (#$ . 4641)]) #@69 Compile a semantic recode template file into a mode-local variable. (defalias 'srecode-compile-templates #[nil "\204\306\307!\210\310\311!\210\312\313\314\315 !\"\210\316 \317\211\211\320\314\315 !!\317\211\211\211\211\211<=>?@\211A\203bA@\211@\211@A@)\211?\321=\203^\322=\321@\211@@)#\210\202Y?\323=\203o\324=@\"\210\202Y?\325=\203>@\211@@)B@\211@\326C@\327@@\330@8)C\"+\211D@EDG\331U\203$E;\203$B\332\230\203\273\333E!<\202:B\334\230\203\315\322=\335E#\210\202:B\336\230\203\337\322=\337E#\210\202:B\340\230\203\356\341E!\202:B\342\230\203\375\341E!\202:B\343\230\203\f\341E!\202:B\344\230\203E\202:BEB B\202:\310\345!\210\346B\347D#FBFB B)+\202Y?\350=\203S\351@=\">B>\202Y\306\352?\"\210AA\211A\204:\312\353>G<#\210<\204t\306\354!\210 \204\311\355\356\315 !!\355\356\357\360!!!<\361=\203\220\362\202\221\363GHI\364\365HPI\"\203\252\366G\\\202\274\n;\203\267\367G\\\202\274\370G\\\312\371\314\315 ! #\210+\202\322\312\372\314\315 ! #\210\373>< \f\n &. \207" [semantic-new-buffer-fcn-was-run vars project priority framework application error "You have to activate semantic-mode to compile SRecode templates." require srecode/insert message "Compiling template %s..." file-name-nondirectory buffer-file-name semantic-fetch-tags nil srecode-compile-state context eieio-oset prompt srecode-compile-add-prompt variable :default-value plist-get 2 1 "mode" intern "escape_start" escape_start "escape_end" escape_end "application" read "framework" "priority" "project" srecode/dictionary srecode-dictionary-compound-variable :value function srecode-compile-one-template-tag "Unknown TAG class %s" "%d templates compiled for %s" "You must specify a MODE for your templates" expand-file-name file-name-directory locate-library "srecode" default 0 10 string-match "^" 30 50 80 "Templates %s has estimated priority of %d" "Compiling templates %s priority %d... done!" srecode-compile-template-table mode STATE table class tag tags name attribute value firstvalue cv defaultdelta sd d] 12 (#$ . 4987) nil]) #@142 Compile a template tag TAG into a srecode template object. STATE is the current compile state as an object of class `srecode-compile-state'. (defalias 'srecode-compile-one-template-tag #[(tag state) "\306\301\"\307\n\211\310\311\n\312\n8) \"*#A\n\211\313\311\n\312\n8) \"+\n\314\311\n\312\n8) \"*\n\315\311\n\312\n8) \"*\211\205S\316\" \317! \317\"\211#\203\236#@\"\320\"!\211$!B!$\321=\203\224\322\323\324\325\326\317\327\330&C\f\323\324\325\326\317\327\331&C#)#A\211#\204b*\332\n\211@)\333 \334!\237\335 \314\310\f& .\207" [state context tag attribute code args eieio-oref srecode-compile-split-code :code plist-get 2 :arguments :binding :dictionaries srecode-create-dictionaries-from-tags nil intern :blank append srecode-compile-inserter "BLANK" " " :secondname :where begin end srecode-template :context :args :dictionary binding dict-tags root-dict addargs arg --dolist-tail-- symbol] 13 (#$ . 7124)]) #@121 Examine COMP to decide if the upcoming newline should be hard. It is hard if the previous inserter is a newline object. (defalias 'srecode-compile-do-hard-newline-p #[(comp) "\203@;\203A\211\204?\206\301\302!\210\303@!\207" [comp require srecode/insert srecode-template-inserter-newline-child-p] 3 (#$ . 8092)]) #@416 Split the code for TAG into something templatable. STR is the string of code from TAG to split. STATE is the current compile state. ESCAPE_START and ESCAPE_END are regexps that indicate the beginning escape character, and end escape character pattern for expandable macro names. Optional argument END-NAME specifies the name of a token upon which parsing should stop. If END-NAME is specified, and the input string (defalias 'srecode-compile-split-code #[(tag str STATE &optional end-name) "\306\211\307\310\311\f\312\"!P\310\311\f\313\"! \203\n\204\314 \"\203\376 \315\211\224O \315\224\315\225O\315\225\314 # \306\211!\"\306\211#$G\315V\203[ B\316\230\203\206\317\320\316\f\321\306\322\323 !&% \306O\211G\315V\203\202% B)\202\371 \203\220\315\224\202\232\324\325&\211&@)\"!\315\225\"!\204\263\324\326&\211&@)\"\210\202\306!X\203\306\324\327&\211&@)\"\210 !O#\306$ \"\306O\330#\f\"%\331%'\"\203\352%% B\332%& \f$).\202'\203 \324\333'\"\210 B\306\211\204 \237-B\207" [str what end-token comp STATE regex nil "\n\\|" regexp-quote eieio-oref escape_start escape_end string-match 0 "\n" srecode-compile-inserter "INDENT" :secondname :hard srecode-compile-do-hard-newline-p error "Could not find end escape for %s" "No matching escape end for %s" "Stray end escape for %s" srecode-compile-parse-inserter srecode-match-end srecode-parse-input "Unmatched section end %s" regexend prefix match namestart junk end tail name key new-inserter tag end-name] 10 (#$ . 8425)]) #@75 Parse the inserter TXT with the current STATE. Return an inserter object. (defalias 'srecode-compile-parse-inserter #[(txt STATE) "\306H\307\211\310W\204\n\311V\203&\n\312W\204\n\313V\203&\314\307O\202*\307\315\316 \"\211\203; \306\211\224O\202<  \205F \306\225\307O\317\f\n\320 %-\207" [txt name key junk namepart secondname 0 nil 65 90 97 122 1 string-match ":" srecode-compile-inserter :secondname STATE] 7 (#$ . 9990)]) #@262 Create an srecode inserter object for some macro NAME. KEY indicates a single character key representing a type of inserter to create. STATE is the current compile state. PROPS are additional properties that might need to be passed to the inserter constructor. (defalias 'srecode-compile-inserter #[(name key STATE &rest props) "\204\n\306\307 \n#\207\310 !\311\f\204K \203K\312 \310 @!\"\313 @\314NH>A\242\204E\315 @\300\"\232\203E\306 @ \n#\316\f\"\210 A\202\f\204T\317\320\"\210\f*\207" [key name props srecode-template-inserter new classes apply srecode-template-inserter-variable class-children nil append :abstract eieio-class-definition eieio-oref srecode-inserter-apply-state error "SRECODE: Unknown macro code %S" class-options STATE] 4 (#$ . 10444)]) #@467 Compile a list of TEMPLATES into an semantic recode table. The table being compiled is for MODE, or the string "default". PRIORITY is a numerical value that indicates this tables location in an ordered search. APPLICATION is the name of the application these templates belong to. FRAMEWORK is the name of the framework these templates belong to. PROJECT is a directory name which these templates scope to. A list of defined variables VARS provides a variable table. (defalias 'srecode-compile-template-table #[(templates mode priority application framework project vars) "\306\307\310\311G$\306\307\310\311\312$ \203X\313 @\314\"\313 @\315\"\211\316\fQ!\317! @ #\210\320 \n\"\211\"\204H\306\307\310\311\321$\"\317 \"\n#\210\317\f @\"#\210) A+\202#;\203d\322#!#\323$\324 \325\237\326 \327\n\330%\331$\332&\333'\334(\335#&)\313)\300\"\211*\205\244\336*@\337)#\210*A\211*\204\221\340-\207" [templates lp contexthash namehash objname context make-hash-table :test equal :size 10 eieio-oref :object-name :context ":" puthash gethash 20 expand-file-name srecode-mode-table-new buffer-file-name :templates :namehash :contexthash :variables :major-mode :priority :application :framework :project eieio-oset :table nil globalname hs project mode vars priority application framework table tmpl] 22 (#$ . 11232)]) (byte-code "\300\301\302\301\303\"\"\210\304\301\305\306\307$\207" [eieio--defalias srecode-dump eieio--defgeneric-init-form #1="Dump the contents of the SRecode template tmp." eieio--defmethod nil srecode-template #[(tmp) "\301\302!\210\301\303!!\210\301\304!\210\301\305\306\"!\210\301\307!\210\305\310\"\203/\301\311!\210\312\305\310\"!\210\301\307!\210\305\313\"\203B\301\314!\210\315\305\313\"\316\"\210\317\320\"\203_\305\320\"\203_\301\321!\210\312\305\320\"!\210\301\307!\210\301\322!\210\323\305\324\"\325\"\210\301\326!\207" [tmp princ "== Template \"" object-name-string "\" in context " eieio-oref context "\n" args " Arguments: " prin1 dictionary " Section Dictionaries:\n" srecode-dump 4 slot-boundp binding " Binding: " " Compiled Codes:\n" srecode-dump-code-list code " " "\n\n"] 4 #1#]] 5) #@123 Dump the CODE from a template code list to standard output. Argument INDENT specifies the indentation level for the list. (defalias 'srecode-dump-code-list #[(code indent) "\303 \205J\304\n!\210\305!\210\304\306!\210 @;\203 \305 @!\210\2029\307 @!\2030\310 @\n\"\210\2029\304\311!\210\305 @!\210 AT \203\304\312!\210\202)\207" [i code indent 1 princ prin1 ") " srecode-template-inserter-child-p srecode-dump "Unknown Code: " "\n"] 3 (#$ . 13414)]) (byte-code "\300\301\302\301\303\"\"\210\304\301\305\306\307$\210\310\311!\207" [eieio--defalias srecode-dump eieio--defgeneric-init-form #1="Dump the state of the SRecode template inserter INS." eieio--defmethod nil srecode-template-inserter #[(ins indent) "\304\305!\210\304\306!!\210\307\310\"\203\304\311!\210\304\307\310\"!\210\304\312!\210\313\314!!\315\316 \"\211\2037 \317\225\320O\2028 \304 !\210+\304\321!\207" [ins oc junk on princ "INS: \"" object-name-string eieio-oref :secondname "\" : \"" "\" type \"" symbol-name object-class string-match "srecode-template-inserter-" 0 nil "\""] 5 #1#] provide srecode/compile] 5)