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
Viewing File: /usr/share/emacs/24.3/lisp/cedet/mode-local.elc
;ELC ;;; Compiled by mockbuild@buildfarm01-new.corp.cloudlinux.com on Tue Nov 11 12:56:27 2025 ;;; from file /builddir/build/BUILD/emacs-24.3/lisp/cedet/mode-local.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. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; #@382 Run FUNCTION on every file buffer found. FUNCTION does not have arguments; when it is entered `current-buffer' is the currently selected file buffer. If optional argument PREDICATE is non nil, only select file buffers for which the function PREDICATE returns non-nil. If optional argument BUFFERS is non-nil, it is a list of buffers to walk through. It defaults to `buffer-list'. (defalias 'mode-local-map-file-buffers #[(function &optional predicate buffers) "\206\305 \306\211\2055\n@\307 !\203-\310 !\203-r q\210 \203) \203,\f \210)\nA\211\204 \306*\207" [buffers b --dolist-tail-- predicate function buffer-list nil buffer-live-p buffer-file-name] 3 (#$ . 560)]) #@82 Return the mode parent of the major mode MODE. Return nil if MODE has no parent. (defalias 'get-mode-local-parent #[(mode) "\301N\206 \302N\207" [mode mode-local-parent derived-mode-parent] 2 (#$ . 1248)]) (put 'get-mode-local-parent 'byte-optimizer 'byte-compile-inline-expand) #@72 Is the major-mode in the current buffer equivalent to a mode in MODES. (defalias 'mode-local-equivalent-mode-p #[(mode) "\302 \203 B \211\303N\206 \304N)\211\204)\207" [modes mode nil mode-local-parent derived-mode-parent] 3 (#$ . 1536)]) #@139 Run FUNCTION on every file buffer with major mode in MODES. MODES can be a symbol or a list of symbols. FUNCTION does not have arguments. (defalias 'mode-local-map-mode-buffers #[#'modes "<\204C\302 \303\"\207" [modes function mode-local-map-file-buffers #[nil "\304!\305 \204\n\203\n@ >\nA\202 *\207" [major-mode ans mm modes mode-local-equivalent-mode-p nil] 2]] 3 (#$ . 1794)]) #@99 Hook run after a new file buffer is created. The current buffer is the newly created file buffer. (defvar mode-local-init-hook nil (#$ . 2197)) #@58 List of buffers whose `major-mode' has changed recently. (defvar mode-local-changed-mode-buffers nil (#$ . 2347)) (defvar mode-local--init-mode nil) #@179 Return non-nil if mode local is initialized in current buffer. That is, if the current `major-mode' is equal to the major mode for which mode local bindings have been activated. (defalias 'mode-local-initialized-p #[nil " =\207" [mode-local--init-mode major-mode] 2 (#$ . 2503)]) (put 'mode-local-initialized-p 'byte-optimizer 'byte-compile-inline-expand) #@130 Initialize mode-local facilities. This is run from `find-file-hook', and from `post-command-hook' after changing the major mode. (defalias 'mode-local-post-major-mode-change #[nil "\302\303\304\305#\210\305\306\307\310 #)\207" [mode-local-changed-mode-buffers buffers remove-hook post-command-hook mode-local-post-major-mode-change nil mode-local-map-file-buffers #[nil "\300 \210\301\302!\207" [activate-mode-local-bindings run-hooks mode-local-init-hook] 2] #[nil " =?\207" [mode-local--init-mode major-mode] 2]] 4 (#$ . 2867)]) #@46 Function called in `change-major-mode-hook'. (defalias 'mode-local-on-major-mode-change #[nil "\300\301p\"\210\302\303\304\305\306$\207" [add-to-list mode-local-changed-mode-buffers add-hook post-command-hook mode-local-post-major-mode-change t nil] 5 (#$ . 3408)]) #@149 Set parent of major mode MODE to PARENT mode. To work properly, this function should be called after PARENT mode local variables have been defined. (defalias 'set-mode-local-parent #[(mode parent) "\302\303 #\210\304\305\"\207" [mode parent put mode-local-parent mode-local-map-mode-buffers activate-mode-local-bindings] 4 (#$ . 3681)]) (put 'set-mode-local-parent 'byte-optimizer 'byte-compile-inline-expand) #@176 Make major mode MODE inherit behavior from PARENT mode. DOCSTRING is optional and not used. To work properly, this should be put after PARENT mode local variables definition. (defalias 'define-child-mode '(macro . #[(mode parent &optional docstring) "\302\303D\303 DE\207" [mode parent set-mode-local-parent quote] 4 (#$ . 4100)])) #@63 Return non-nil if THIS-MODE can use bindings of DESIRED-MODE. (defalias 'mode-local-use-bindings-p #[(this-mode desired-mode) "\304\204 \203 \n= \211\305N\206 \306N)\202)\207" [ans this-mode desired-mode mode nil mode-local-parent derived-mode-parent] 3 (#$ . 4439)]) #@168 Buffer local mode bindings. These symbols provide a hook for a `major-mode' to specify specific behaviors. Use the function `mode-local-bind' to define new bindings. (defvar mode-local-symbol-table nil (#$ . 4728)) (make-variable-buffer-local 'mode-local-symbol-table) #@42 Major mode in which bindings are active. (defvar mode-local-active-mode nil (#$ . 5004)) #@48 Return a new empty mode bindings symbol table. (defalias 'new-mode-local-bindings #[nil "\300\301\302\"\207" [make-vector 13 0] 3 (#$ . 5099)]) (put 'new-mode-local-bindings 'byte-optimizer 'byte-compile-inline-expand) #@751 Define BINDINGS in the specified environment. BINDINGS is a list of (VARIABLE . VALUE). Optional argument PLIST is a property list each VARIABLE symbol will be set to. The following properties have special meaning: - `constant-flag' if non-nil, prevent to rebind variables. - `mode-variable-flag' if non-nil, define mode variables. - `override-flag' if non-nil, define override functions. The `override-flag' and `mode-variable-flag' properties are mutually exclusive. If optional argument MODE is non-nil, it must be a major mode symbol. BINDINGS will be defined globally for this major mode. If MODE is nil, BINDINGS will be defined locally in the current buffer, in variable `mode-local-symbol-table'. The later should be done in MODE hook. (defalias 'mode-local-bind #[(bindings &optional plist mode) "\306\307\"\203\306\310\"\203\311\312!\210\313\211\211\211\211\2037\314N\206,\315\316\317\"\320\314 #\210\202O\306\307\"\203B\311\321!\210\f\206N\315\316\317\"\211\f\203\317@A\322 @! A\323 \"\211\203\276\fJ\n\232\204O\f\324N\203\203\311\325\f\"\210\202O\f\307N\203\230\306\310\"\203\230\311\326\f\"\210\202O\f\310N\203\255\306\307\"\203\255\311\327\f\"\210\202O\330\f\331\332\f!\"\"\210\f\nL\210\202O\333 \"\330\f\"\210\f\nL\210\202O -\207" [plist binding value varname variable table plist-get mode-variable-flag override-flag error "Bindings can't be both overrides and mode variables" nil mode-local-symbol-table make-vector 13 0 put "Mode required to bind mode variables" symbol-name intern-soft constant-flag "Can't change the value of constant `%s'" "Can't rebind override `%s' as a mode variable" "Can't rebind mode variable `%s' as an override" setplist append symbol-plist intern mode bindings] 6 (#$ . 5325)]) #@326 Return the mode local symbol bound with SYMBOL's name. Return nil if the mode local symbol doesn't exist. If optional argument MODE is nil, lookup first into locally bound symbols, then in those bound in current `major-mode' and its parents. If MODE is non-nil, lookup into symbols bound in that major mode and its parents. (defalias 'mode-local-symbol #[(symbol &optional mode) "\306!\307 \204\f\211\204  \205\310\n \" \203G \204G \311N\2036\310\n \311N\"\211\204 \211\312N\206A \313N)\211\204! *\207" [symbol bind name mode mode-local-active-mode major-mode symbol-name nil intern-soft mode-local-symbol-table mode-local-parent derived-mode-parent] 5 (#$ . 7122)]) (put 'mode-local-symbol 'byte-optimizer 'byte-compile-inline-expand) #@372 Return the value of the mode local symbol bound with SYMBOL's name. If optional argument MODE is non-nil, restrict lookup to that mode and its parents (see the function `mode-local-symbol' for more details). If optional argument PROPERTY is non-nil the mode local symbol must have that property set. Return nil if the symbol doesn't exist, or doesn't have PROPERTY set. (defalias 'mode-local-symbol-value #[(symbol &optional mode property) " \306!\307 \204!\f\211\204!  \205 \310  \" \203K\n\204K \311N\203:\310 \311N\"\211\204! \211\312N\206E \313N)\211\204%\n,\211\205`\f\203^\fN\205`J\207" [symbol mode bind name mode-local-active-mode major-mode symbol-name nil intern-soft mode-local-symbol-table mode-local-parent derived-mode-parent property] 4 (#$ . 7890)]) (put 'mode-local-symbol-value 'byte-optimizer 'byte-compile-inline-expand) #@332 Activate variables defined locally in MODE and its parents. That is, copy mode local bindings into corresponding buffer local variables. If MODE is not specified it defaults to current `major-mode'. Return the alist of buffer-local variables that have been changed. Elements are (SYMBOL . PREVIOUS-VALUE), describing one variable. (defalias 'activate-mode-local-bindings #[(&optional mode) "\306\307!\203 \310 \207\311\211\211 \204\312\305!\210\f\f \2034 \nB \211\313N\206. \314N)\211\204\n\311\211\203W@\211\315N\211\203N\316\317 \"\210A\211\204=*+\207" [old-locals table modes mode major-mode mode-local--init-mode boundp keep-mode-if-same mode-local-on-major-mode-change nil make-local-variable mode-local-parent derived-mode-parent mode-local-symbol-table mapatoms #[(var) "\303N\205!\304\305!!\306 p\"\203 \211JB\nB\307 !JL)\207" [var v old-locals mode-variable-flag intern symbol-name local-variable-p make-local-variable] 3] --dolist-tail--] 4 (#$ . 8771)]) #@210 Deactivate variables defined locally in MODE and its parents. That is, kill buffer local variables set from the corresponding mode local bindings. If MODE is not specified it defaults to current `major-mode'. (defalias 'deactivate-mode-local-bindings #[(&optional mode) "\204\n\303\304!\210 \305\205/\306N\211\203\307\310\n\"\210\211\311N\206(\312N)\211\204\305)\207" [mode major-mode table kill-local-variable mode-local--init-mode nil mode-local-symbol-table mapatoms #[(var) "\301N\205 \302\303\304!!!\207" [var mode-variable-flag kill-local-variable intern symbol-name] 4] mode-local-parent derived-mode-parent] 4 (#$ . 9781)]) #@333 With the local bindings of MODE symbol, evaluate BODY. The current mode bindings are saved, BODY is evaluated, and the saved bindings are restored, even in case of an abnormal exit. Value is what BODY returns. This is like `with-mode-local', except that MODE's value is used. To use the symbol MODE (quoted), use `with-mode-local'. (defalias 'with-mode-local-symbol '(macro . #[(mode &rest body) "\306\307!\306\310!\306\311!\306\312!\313 \314B\n\315B \fDE\316\317\320 D\321\322 E\321\n\323 DE BBBB\320 D\324\nD\325\326D\327DEE\321\322 E\323 D\257E,\207" [local new-mode old-locals old-mode mode body make-symbol "mode" "old-locals" "new-mode" "local" let (mode-local-active-mode) (nil) unwind-protect progn deactivate-mode-local-bindings setq mode-local-active-mode activate-mode-local-bindings dolist set car cdr] 11 (#$ . 10440)])) (put 'with-mode-local-symbol 'lisp-indent-function 1) #@292 With the local bindings of MODE, evaluate BODY. The current mode bindings are saved, BODY is evaluated, and the saved bindings are restored, even in case of an abnormal exit. Value is what BODY returns. This is like `with-mode-local-symbol', except that MODE is quoted and is not evaluated. (defalias 'with-mode-local '(macro . #[(mode &rest body) "\302\303D BB\207" [mode body with-mode-local-symbol quote] 3 (#$ . 11343)])) (put 'with-mode-local 'lisp-indent-function 1) #@50 Return the value of the MODE local variable SYM. (defalias 'mode-local-value #[(mode sym) "\204\306\307!\210 \310\211\311 !\312\2041\211\2041\f\2050\313 \f\"\203[\f\204[\314N\203J\313 \314N\"\211\2041\211\315N\206U\316N)\211\2045\f,\211\205n\n\203l \nN\205n J+\207" [mode sym property symbol bind name error "Missing major mode symbol" mode-variable-flag symbol-name nil intern-soft mode-local-symbol-table mode-local-parent derived-mode-parent mode-local-active-mode major-mode] 5 (#$ . 11823)]) (put 'mode-local-value 'byte-optimizer 'byte-compile-inline-expand) #@381 Assign new values to variables local in MODE. MODE must be a major mode symbol. ARGS is a list (SYM VAL SYM VAL ...). The symbols SYM are variables; they are literal (not evaluated). The values VAL are expressions; they are evaluated. Set each SYM to the value of its VAL, locally in buffers already in MODE, or in buffers switched to that mode. Return the value of the last VAL. (defalias 'setq-mode-local '(macro . #[(mode &rest args) "\205{\306\211\211\211\211\211\211\307\203[\310\311\312\"!T@\211A@) DB\313\314\nD E B\315\316\314\nDD E\fB\211AA)\211\204\317\237\320\321 B\322\314DF\323\324\325\306\fBBD\314DE \257.\207" [args val sym tmp sl bl nil 0 make-symbol format "tmp%d" cons quote set make-local-variable let* mode-local-bind list '(mode-variable-flag t) mode-local-map-mode-buffers function lambda ll i x mode] 9 (#$ . 12438)])) #@71 Define MODE local variable SYM with value VAL. DOCSTRING is optional. (defalias 'defvar-mode-local '(macro . #[(mode sym val &optional docstring) "\304\305 \nF\306\307\310 D\310DE\311 F\310 DF\207" [mode sym val docstring progn setq-mode-local put mode-local-symbol quote 'variable-documentation] 7 (#$ . 13335)])) (put 'defvar-mode-local 'lisp-indent-function 'defun) #@71 Define MODE local constant SYM with value VAL. DOCSTRING is optional. (defalias 'defconst-mode-local '(macro . #[(mode sym val &optional docstring) "\305\306!\307C\310 \n F\311\312\313\nD\313 DEE\314\315BB\314\316\fF\313\nD\257)\207" [tmp mode sym val docstring make-symbol "tmp" let setq-mode-local setq mode-local-symbol quote put ('constant-flag t) 'variable-documentation] 9 (#$ . 13712)])) (put 'defconst-mode-local 'lisp-indent-function 'defun) #@123 Mark OLD overload as obsoleted by NEW overload. WHEN is a string describing the first release where it was made obsolete. (defalias 'make-obsolete-overload #[(old new when) "\303\304 #\210\303\305\n#\210\303\306\307#\210\303 \310#\207" [old new when put overload-obsoleted-by overload-obsoleted-since mode-local-overload t overload-obsolete] 4 (#$ . 14176)]) #@96 Get the overload symbol obsoleted by OVERLOAD. Return the obsolete symbol or nil if not found. (defalias 'overload-obsoleted-by #[(overload) "\301N\207" [overload overload-obsolete] 2 (#$ . 14545)]) (put 'overload-obsoleted-by 'byte-optimizer 'byte-compile-inline-expand) #@113 Return the overload symbol that obsoletes OVERLOAD. Return the symbol found or nil if OVERLOAD is not obsolete. (defalias 'overload-that-obsolete #[(overload) "\301N\207" [overload overload-obsoleted-by] 2 (#$ . 14825)]) (put 'overload-that-obsolete 'byte-optimizer 'byte-compile-inline-expand) #@187 Return the current OVERLOAD function, or nil if not found. First, lookup for OVERLOAD into locally bound mode local symbols, then in those bound in current `major-mode' and its parents. (defalias 'fetch-overload #[(overload) "\306\307\211\n\310 !\306\n\204)\211\204)\n\205(\311 \n\"\n\203S\f\204S\n\312N\203B\311 \n\312N\"\211\204)\n\211\313N\206M\n\314N)\211\204-\f,\211\205f \203d N\205f J+\206\337\211\315N)\205\337\211\315N)\306\307\211\n\310 !\306\n\204\241\211\204\241\n\205\240\311 \n\"\n\203\313\f\204\313\n\312N\203\272\311 \n\312N\"\211\204\241\n\211\313N\206\305\n\314N)\211\204\245\f,\211\205\336 \203\334 N\205\336 J+\207" [overload property mode symbol bind name nil override-flag symbol-name intern-soft mode-local-symbol-table mode-local-parent derived-mode-parent overload-obsolete mode-local-active-mode major-mode] 5 (#$ . 15128)]) (put 'fetch-overload 'byte-optimizer 'byte-compile-inline-expand) #@291 Return the form that handles overloading of function NAME. ARGS are the arguments to the function. BODY is code that would be run when there is no override defined. The default is to call the function `NAME-default' with the appropriate arguments. See also the function `define-overload'. (defalias 'mode-local--override #[(name args body) "\306\307\310\"!\311\312\311\313\314\n!\"\"\315\316!\317\f\320\321DDDC\322\f\323\f BB \206- BCBBBE+\207" [name default args overargs override body intern format "%s-default" delq &rest &optional copy-sequence make-symbol "override" let fetch-overload quote if funcall] 7 (#$ . 16125)]) #@262 Expand override forms that overload function NAME. ARGS are the arguments to the function NAME. BODY is code where override forms are searched for expansion. Return result of expansion, or BODY if no expansion occurred. See also the function `define-overload'. (defalias 'mode-local--expand-overrides #[(name args body) "\306\307\211\211\203]\f@\211:\203I\n@\310=\203&\311 \f\nA#\202I\n@\312=\203B\311 \n\211 A@)\n\211 AA)#\202I\313 \f\n# \205Q\f@\n=\n B\fA\211\204\f \203e\202g \237,\207" [body xbody form ditto forms name t nil :override mode-local--override :override-with-args mode-local--expand-overrides args x] 5 (#$ . 16766)]) #@183 Return the code that implements overloading of function NAME. ARGS are the arguments to the function NAME. BODY specifies the overload code. See also the function `define-overload'. (defalias 'mode-local--overload-body #[(name args body) "\304 \n#\n =\203\305 \n#C\202 )\207" [name args body result mode-local--expand-overrides mode-local--override] 4 (#$ . 17435)]) (put 'define-overloadable-function 'doc-string-elt 3) #@1050 Define a new function, as with `defun', which can be overloaded. NAME is the name of the function to create. ARGS are the arguments to the function. DOCSTRING is a documentation string to describe the function. The docstring will automatically have details about its overload symbol appended to the end. BODY is code that would be run when there is no override defined. The default is to call the function `NAME-default' with the appropriate arguments. BODY can also include an override form that specifies which part of BODY is specifically overridden. This permits to specify common code run for both default and overridden implementations. An override form is one of: 1. (:override [OVERBODY]) 2. (:override-with-args OVERARGS [OVERBODY]) OVERBODY is the code that would be run when there is no override defined. The default is to call the function `NAME-default' with the appropriate arguments deduced from ARGS. OVERARGS is a list of arguments passed to the override and `NAME-default' function, in place of those deduced from ARGS. (defalias 'define-overloadable-function '(macro . #[(name args docstring &rest body) "\304\305 \n\306 #BBBB\307\310D\311BBE\207" [name args docstring body eval-and-compile defun mode-local--overload-body put quote ('mode-local-overload t)] 9 (#$ . 17871)])) (byte-code "\300\301\302\303#\210\300\304\305\306#\210\307\310\301\"\207" [put define-overloadable-function doc-string-elt 3 :override-with-args lisp-indent-function 1 defalias define-overload] 4) #@65 Return non-nil if SYMBOL is a function which can be overloaded. (defalias 'function-overload-p #[(symbol) "\205\f9\205\f\301N\207" [symbol mode-local-overload] 2 (#$ . 19385)]) (put 'function-overload-p 'byte-optimizer 'byte-compile-inline-expand) #@390 Define a mode specific override of the function overload NAME. Has meaning only if NAME has been created with `define-overload'. MODE is the major mode this override is being defined for. ARGS are the function arguments, which should match those of the same named function created with `define-overload'. DOCSTRING is the documentation string. BODY is the implementation of this function. (defalias 'define-mode-local-override '(macro . #[(name mode args docstring &rest body) "\306\307\310 #!\311\312\313\n \307\314\f $ BBBB\315\316\nD\317\316DFE\320\316\nBCD\321\316 DFE)\207" [name mode newname args docstring body intern format "%s-%s" progn eval-and-compile defun "%s\n\nOverride %s in `%s' buffers." put quote 'definition-name mode-local-bind '(override-flag t)] 10 (#$ . 19645)])) #@132 Interactively read in the name of a mode-local function. PROMPT, INITIAL, HIST, and DEFAULT are the same as for `completing-read'. (defalias 'mode-local-read-function #[(prompt &optional initial hist default) "\305 \306\307\n \f&\207" [prompt obarray initial hist default completing-read function-overload-p t] 8 (#$ . 20445)]) #@66 Return the doc string that augments the description of OVERLOAD. (defalias 'overload-docstring-extension #[(overload) "\303\211\304N) \203\305\306\n \211\307N$\211\310N)\211\203*\305\311\n\307N $\n*\207" [overload sym doc "\nThis function can be overloaded with `define-mode-local-override'." overload-obsolete format "%s\nIt has made the overload `%s' obsolete since %s." overload-obsoleted-since overload-obsoleted-by "%s\nThis overload is obsolete since %s;\nUse `%s' instead."] 7 (#$ . 20781)]) #@84 Augment the *Help* buffer for SYMBOL. SYMBOL is a function that can be overridden. (defalias 'mode-local-augment-function-help #[(symbol) "r\302q\210\303p!\210eb\210\304\305\306\307#\204db\210\310 \210\311y\210\307\312 !\313\261*\207" [inhibit-read-only symbol "*Help*" pop-to-buffer re-search-forward "^$" nil t beginning-of-line -1 overload-docstring-extension "\n"] 4 (#$ . 21299)]) #@27 Print the SYMBOL binding. (defalias 'mode-local-print-binding #[(symbol) "J\303\304\305\"!\210 \203 9\203\303\304\306 \"!\210\202+`\307 !\210\212\nb\210\310 \210*n\2062\303\311!)\207" [symbol value pt princ format "\n `%s' value is\n " "`%s'" pp indent-sexp "\n"] 4 (#$ . 21695)]) #@26 Print bindings in TABLE. (defalias 'mode-local-print-bindings #[(table) "\306\211\211\211\211\307\310 \"\210\f\203\311\312!\210\313\314\f\"\210 \203)\311\315!\210\313\314 \"\210\n\2036\311\316!\210\313\314\n\"\210\203C\311\317!\210\313\314\"\210 \205O\311\320!\210\313\314 \"-\207" [fo ov mv mc us table nil mapatoms #[(s) "\301\302N\203\303N\203\304\202*\305\202*\306N\203)\303N\203%\307\202*\310\202*\311\"\207" [s add-to-list mode-variable-flag constant-flag mc mv override-flag fo ov us] 3] princ "\n !! Unspecified symbols\n" mapc mode-local-print-binding "\n ** Mode local constants\n" "\n ** Mode local variables\n" "\n ** Final overloaded functions\n" "\n ** Overloaded functions\n"] 5 (#$ . 22002)]) #@55 Display mode local bindings active in BUFFER-OR-MODE. (defalias 'mode-local-describe-bindings-2 #[(buffer-or-mode) "\305\211\306\307!\210\310\n!\203!r\nq\210 \f)\306\311\312\n\"!\210\2029\n9\2032\n\306\311\313\n\"!\210\2029\314\315\302\nD\"\210 \203E\306\316!\210\317 !\210\205n\303N\211\203\\\306\311\320\"!\210\317 !\210\211\321N\206g\322N)\211\204I\305*\207" [mode table buffer-or-mode mode-local-symbol-table major-mode nil princ "Mode local bindings active in " bufferp format "%S\n" "`%s'\n" signal wrong-type-argument "\n- Buffer local\n" mode-local-print-bindings "\n- From `%s'\n" mode-local-parent derived-mode-parent] 5 (#$ . 22750)]) #@148 Display mode local bindings active in BUFFER-OR-MODE. Optional argument INTERACTIVE-P is non-nil if the calling command was invoked interactively. (defalias 'mode-local-describe-bindings-1 #[(buffer-or-mode &optional interactive-p) "\306\307!\203\n\307\310!\207\306\311!\203\311\312D \"\210\nr\313\314 !q\210p\315 \210 \316\211\317\211\317\320 \210\321\322!\210+\211rq\210\323!)\324!\210+\207" [buffer-or-mode interactive-p default-directory #1=#:old-dir buffer-read-only buffer-file-name fboundp with-displaying-help-buffer #[nil "rq\210\302 !\210\303\304!\205eb\210\304!)\207" [standard-output buffer-or-mode mode-local-describe-bindings-2 fboundp frob-help-extents] 2] help-setup-xref mode-local-describe-bindings-1 get-buffer-create help-buffer kill-all-local-variables nil t erase-buffer run-hooks temp-buffer-setup-hook mode-local-describe-bindings-2 internal-temp-output-buffer-show buffer-undo-list inhibit-modification-hooks inhibit-read-only #2=#:buf standard-output] 4 (#$ . 23425)]) #@47 Display mode local bindings active in BUFFER. (defalias 'describe-mode-local-bindings #[(buffer) "\301!\211\205\302\303\304!\"\207" [buffer get-buffer mode-local-describe-bindings-1 called-interactively-p any] 4 (#$ . 24453) "b"]) #@55 Display mode local bindings active in MODE hierarchy. (defalias 'describe-mode-local-bindings-in-mode #[(mode) "\301!\211\205\302\303\304!\"\207" [mode intern-soft mode-local-describe-bindings-1 called-interactively-p any] 4 (#$ . 24695) (list (completing-read "Mode: " obarray #'(lambda (s) (get s 'mode-local-symbol-table)) t (symbol-name major-mode)))]) #@52 Define edebug specification for mode local macros. (defalias 'mode-local-setup-edebug-specs #[nil "\300\301\302\303#\210\300\304\302\305#\210\300\306\302\304#\210\300\307\302\310#\210\300\311\302\312#\210\300\313\302\314#\207" [put setq-mode-local edebug-form-spec (symbolp &rest symbolp form) defvar-mode-local (&define symbolp name def-form [&optional stringp]) defconst-mode-local define-overload (&define name lambda-list stringp def-body) define-overloadable-function (&define name lambda-list stringp def-body) define-mode-local-override (&define name symbolp lambda-list stringp def-body)] 4 (#$ . 25063)]) (byte-code "\300\301\302\"\210\300\303\304\"\210\300\305\306\"\210\307\310!\207" [add-hook edebug-setup-hook mode-local-setup-edebug-specs find-file-hook mode-local-post-major-mode-change change-major-mode-hook mode-local-on-major-mode-change provide mode-local] 3)