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/progmodes
Viewing File: /usr/share/emacs/24.3/lisp/progmodes/cc-fonts.elc
;ELC ;;; Compiled by mockbuild@buildfarm01-new.corp.cloudlinux.com on Tue Nov 11 12:53:26 2025 ;;; from file /builddir/build/BUILD/emacs-24.3/lisp/progmodes/cc-fonts.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\304\305!\210\300\306!\207" [require cc-defs cc-vars cc-engine provide cc-fonts font-lock] 2) (defconst c-preprocessor-face-name (byte-code "\301\211\302 >)\203\f\301\207\303\211\302 >)\203\303\207\304\207" [facename font-lock-preprocessor-face face-list font-lock-builtin-face font-lock-reference-face] 3)) (defconst c-label-face-name (byte-code "\302\211\303 >)\203\f\302\207\301\211\303 >)\203 \301=\203\301\207\304\207" [facename font-lock-constant-face font-lock-label-face face-list font-lock-reference-face] 3)) (defconst c-constant-face-name (byte-code "\301\211\303 >)\203 \301=\203\301\207\n\207" [facename font-lock-constant-face c-label-face-name face-list] 3)) (defconst c-reference-face-name (byte-code "\301\211\303 >)\203 \301=\203\301\207\n\207" [facename font-lock-reference-face c-label-face-name face-list] 3)) (defconst c-doc-face-name (byte-code "\301\211\302 >)\203\f\301\207\303\211\302 >)\203\303\207\304\207" [facename font-lock-doc-string-face face-list font-lock-doc-face font-lock-comment-face] 3)) (defconst c-doc-markup-face-name (byte-code "\302\211\303 >)\203\f\302\207 \207" [facename c-label-face-name font-lock-doc-markup-face face-list] 3)) (defconst c-negation-char-face-name (byte-code "\301\211\302 >)\205 \301\207" [facename font-lock-negation-char-face face-list] 3)) (defalias 'c-make-inverse-face #[(oldface newface) "\302 \"\210\303\304!\203\304!?\205'\305 !\207\303\306!\205'\306\307\"?\205'\305 !\207" [oldface newface copy-face fboundp face-inverse-video-p invert-face face-property-instance reverse] 3]) (defvar c-annotation-face 'c-annotation-face) (custom-declare-face 'c-annotation-face '((default :inherit font-lock-constant-face)) "Face for highlighting annotations in Java mode and similar modes." :version "24.1" :group 'c) (defvar c-font-lock-context nil) (make-variable-buffer-local 'c-font-lock-context) (defalias 'c-put-font-lock-face '(macro . #[(from to face) "\303\304!\203\f\304 \nF\207\305 \306\n\257\207" [from to face fboundp font-lock-set-face put-text-property 'face] 5])) (defalias 'c-remove-font-lock-face '(macro . #[(from to) "\302\303!\203 \303 E\207\304 \305BBB\207" [from to fboundp font-lock-remove-face remove-text-properties ('(face nil))] 4])) (defalias 'c-put-font-lock-string-face '(macro . #[(from to) "\302 \303BBB\207" [from to c-put-font-lock-face ('font-lock-string-face)] 4])) (defalias 'c-fontify-types-and-refs '(macro . #[(varlist &rest body) "\302\303\304BB\305\306 B\307BBE\207" [varlist body let (c-record-type-identifiers t) c-record-ref-identifiers prog1 progn ((c-fontify-recorded-types-and-refs))] 5])) (put 'c-fontify-types-and-refs 'lisp-indent-function 1) (defalias 'c-skip-comments-and-strings #[(limit) "`\305\n\306\"\211:\203$ \203 @ >\204 A\211\204 \202' >+\205e\307`\306\310\f$b\210`\fW\203d`\305\n\306\"\211:\203] \203Y @ >\204Y A\211\204K \202` >+\204+\311\207" [c-literal-faces faces pos pos-faces limit get-text-property face next-single-property-change nil t] 6]) (defalias 'c-make-syntactic-matcher #[(regexp) "\301\302\303\304\305\306\307\310\311\312\313BBE\314BBD\315BBBE!\207" [regexp byte-compile lambda (limit) let (res) while and setq res re-search-forward (limit t) ((progn (goto-char (match-beginning 0)) (or (c-skip-comments-and-strings limit) (progn (goto-char (match-end 0)) nil)))) (res)] 12]) (defalias 'c-make-font-lock-search-form #[(regexp highlights) "\302\303\304BB\305\306\307\310\311 \"BBBE\207" [regexp highlights while re-search-forward (limit t) unless (progn (goto-char (match-beginning 0)) (c-skip-comments-and-strings limit)) (goto-char (match-end 0)) mapcar #[(highlight) "@\250\203.\3018\302=\204\303\304\"\210\3058\203\303\306\"\210\307\310\311@D\312@D\313\234FD\207\3058\2039\303\314\"\210\315A@\307@D\3018F\207" [highlight 2 t error "The override flag must currently be t in %s" 3 "The laxmatch flag may currently not be set in %s" save-match-data c-put-font-lock-face match-beginning match-end 1 "Match highlights currently not supported in %s" progn] 6]] 8]) (defalias 'c-make-font-lock-search-function #[(regexp &rest highlights) "\302\303\304\305\306\307 \"E\310BBB!\207" [regexp highlights byte-compile lambda (limit) let ((parse-sexp-lookup-properties (cc-eval-when-compile (boundp 'parse-sexp-lookup-properties)))) c-make-font-lock-search-form (nil)] 8]) (defalias 'c-make-font-lock-BO-decl-search-function #[(regexp &rest highlights) "\302\303\304\305\306\307\310 \"F\311BBB!\207" [regexp highlights byte-compile lambda (limit) let ((parse-sexp-lookup-properties (cc-eval-when-compile (boundp 'parse-sexp-lookup-properties))) (BOD-limit (c-determine-limit 1000))) (goto-char (let ((here (point))) (if (eq (car (c-beginning-of-decl-1 BOD-limit)) 'same) (point) here))) c-make-font-lock-search-form (nil)] 9]) (defalias 'c-make-font-lock-context-search-function #[(normal &rest state-stanzas) "\302\303\304\305\306\307\310\311\"\312 @ A\"\313B\"BBE!\207" [state-stanzas normal byte-compile lambda (limit) let ((parse-sexp-lookup-properties (cc-eval-when-compile (boundp 'parse-sexp-lookup-properties)))) append mapcar #[(stanza) "@A@\3068\211AA)A\307\310\311\312 DE\313\314\fDC\315 \n\"EE,\207" [stanza x highlights regexp lim state 2 if eq c-font-lock-context quote let limit c-make-font-lock-search-form] 8] c-make-font-lock-search-form (nil)] 10]) (byte-code "\300\301\302\303#\210\300\304\302\305#\210\300\306\302\307#\207" [put c-fontify-types-and-refs edebug-form-spec let* c-make-syntactic-matcher t c-make-font-lock-search-function (form &rest &or ("quote" (&rest form)) ("`" (&rest form)) form)] 4) (defalias 'c-fontify-recorded-types-and-refs #[nil "\304 :\203 @ A\305@A\306\307$\210\202\n\205/\n@\nA\305@A\306 $\210\202)\207" [elem c-record-type-identifiers c-record-ref-identifiers c-reference-face-name nil put-text-property face font-lock-type-face] 5]) (c-define-lang-constant 'c-cpp-matchers '((t append (if (c-get-lang-constant 'c-opt-cpp-prefix '(cc-langs)) (progn (let* ((noncontinued-line-end "\\(\\=\\|\\(\\=\\|[^\\]\\)[\n ]\\)") (ncle-depth (regexp-opt-depth noncontinued-line-end)) (sws-depth (c-get-lang-constant 'c-syntactic-ws-depth '(cc-langs))) (nsws-depth (c-get-lang-constant 'c-nonempty-syntactic-ws-depth '(cc-langs)))) (append (if (c-get-lang-constant 'c-cpp-message-directives '(cc-langs)) (progn (let* ((re (c-make-keywords-re 'appendable (c-get-lang-constant 'c-cpp-message-directives '(cc-langs)))) (re-depth (regexp-opt-depth re))) (list (cons (concat noncontinued-line-end (c-get-lang-constant 'c-opt-cpp-prefix '(cc-langs)) re "\\s +\\(.*\\)$") (cons (+ ncle-depth re-depth 1) '(font-lock-string-face t))))))) (if (c-get-lang-constant 'c-cpp-include-directives '(cc-langs)) (progn (let* ((re (c-make-keywords-re nil (c-get-lang-constant 'c-cpp-include-directives '(cc-langs)))) (re-depth (regexp-opt-depth re))) (list (list (concat noncontinued-line-end (c-get-lang-constant 'c-opt-cpp-prefix '(cc-langs)) re (c-get-lang-constant 'c-syntactic-ws '(cc-langs)) "\\(<[^>\n ]*>?\\)") (cons (+ ncle-depth re-depth sws-depth 1) '(font-lock-string-face)) (list (byte-compile (cons 'lambda (cons '(limit) (cons (cons 'let (cons (list (list 'beg (list 'match-beginning (+ ncle-depth re-depth sws-depth 1))) (list 'end (list '1- (list 'match-end (+ ncle-depth re-depth sws-depth 1))))) '((if (eq (char-after end) 62) (progn (c-mark-<-as-paren beg) (c-mark->-as-paren end)) (c-clear-char-property beg 'category))))) '(nil))))))))))) (if (c-get-lang-constant 'c-opt-cpp-macro-define '(cc-langs)) (progn (list (list (c-make-font-lock-search-function (concat noncontinued-line-end (c-get-lang-constant 'c-opt-cpp-prefix '(cc-langs)) (c-get-lang-constant 'c-opt-cpp-macro-define '(cc-langs)) (c-get-lang-constant 'c-nonempty-syntactic-ws '(cc-langs)) "\\(" (c-get-lang-constant 'c-symbol-key '(cc-langs)) "\\)" (concat "\\(" "\\((\\)" "\\|" "\\([^(]\\|$\\)" "\\)")) (list (list 'if (list 'match-beginning (+ 3 ncle-depth nsws-depth (c-get-lang-constant 'c-symbol-key-depth '(cc-langs)))) (cons 'save-restriction (cons (cons 'c-put-font-lock-face (cons (list 'match-beginning (+ 1 ncle-depth nsws-depth)) (cons (list 'match-end (+ 1 ncle-depth nsws-depth)) '('font-lock-function-name-face)))) (cons (list 'goto-char (list 'match-end (+ 3 ncle-depth nsws-depth (c-get-lang-constant 'c-symbol-key-depth '(cc-langs))))) '((narrow-to-region (point-min) limit) (while (and (progn (c-forward-syntactic-ws) (looking-at c-symbol-key)) (progn (c-put-font-lock-face (match-beginning 0) (match-end 0) 'font-lock-variable-name-face) (goto-char (match-end 0)) (c-forward-syntactic-ws) (eq (char-after) 44))) (forward-char)))))) (cons 'c-put-font-lock-face (cons (list 'match-beginning (+ 1 ncle-depth nsws-depth)) (cons (list 'match-end (+ 1 ncle-depth nsws-depth)) '('font-lock-variable-name-face))))))))))) (if (and (c-get-lang-constant 'c-cpp-expr-directives '(cc-langs)) (c-get-lang-constant 'c-cpp-expr-functions '(cc-langs))) (progn (let ((ced-re (c-make-keywords-re t (c-get-lang-constant 'c-cpp-expr-directives '(cc-langs)))) (cef-re (c-make-keywords-re t (c-get-lang-constant 'c-cpp-expr-functions '(cc-langs))))) (list (list (c-make-font-lock-context-search-function (list (concat noncontinued-line-end (c-get-lang-constant 'c-opt-cpp-prefix '(cc-langs)) ced-re "\\(\\\\\\(.\\|[\n ]\\)\\|[^\n ]\\)*") (list (list 'let '((limit (match-end 0))) (cons 'while (cons (cons 're-search-forward (cons cef-re '(limit 'move))) '((c-put-font-lock-face (match-beginning 1) (match-end 1) c-preprocessor-face-name))))) (list 'goto-char (list 'match-end (1+ ncle-depth))))) (cons 'in-cpp-expr (cons '(save-excursion (c-end-of-macro) (point)) (cons cef-re '((1 c-preprocessor-face-name t))))))))))) (list (list (c-make-font-lock-search-function (concat noncontinued-line-end "\\(" (c-get-lang-constant 'c-opt-cpp-prefix '(cc-langs)) "[" (c-get-lang-constant 'c-symbol-chars '(cc-langs)) "]+" "\\)") (cons (1+ ncle-depth) '(c-preprocessor-face-name t)))) (cons 'eval (cons 'list (cons (c-make-syntactic-matcher (concat noncontinued-line-end (c-get-lang-constant 'c-opt-cpp-prefix '(cc-langs)) "if\\(n\\)def\\>")) (cons (+ ncle-depth 1) '(c-negation-char-face-name 'append)))))))))) (if (c-lang-major-mode-is 'pike-mode) (progn '((eval list "\\`#![^\n ]*" 0 c-preprocessor-face-name)))) '((eval list "\240" 0 (progn (unless (c-face-name-p 'c-nonbreakable-space-face) (c-make-inverse-face 'font-lock-warning-face 'c-nonbreakable-space-face)) ''c-nonbreakable-space-face)))))) (defalias 'c-font-lock-invalid-string #[nil "`S\212\303\304 \"\305\234=\205; \250\203Sf =?\202 ?\205;\n\2030`Sf\306=?\2021\307\205;\310\211T\311\312$*\207" [start c-multiline-string-start-char c-string-escaped-newlines parse-partial-sexp line-end-position 8 92 t put-text-property face font-lock-warning-face] 5]) (c-define-lang-constant 'c-basic-matchers-before '((t cons (c-make-font-lock-search-function (concat ".\\(" c-string-limit-regexp "\\)") '((c-font-lock-invalid-string))) (append (if (c-get-lang-constant 'c-constant-kwds '(cc-langs)) (progn (let ((re (c-make-keywords-re nil (c-get-lang-constant 'c-constant-kwds '(cc-langs))))) (if (c-lang-major-mode-is 'pike-mode) (list (cons 'eval (cons 'list (cons (concat "\\(\\=.?\\|[^>]\\|[^-]>\\)" "\\<\\(" re "\\)\\>") '(2 c-constant-face-name))))) (list (cons 'eval (cons 'list (cons (concat "\\<\\(" re "\\)\\>") '(1 c-constant-face-name))))))))) (list (if (c-lang-major-mode-is 'pike-mode) (cons (concat "\\(\\=.?\\|[^>]\\|[^-]>\\)" "\\<" (c-get-lang-constant 'c-regular-keywords-regexp '(cc-langs))) '(2 font-lock-keyword-face)) (cons (concat "\\<" (c-get-lang-constant 'c-regular-keywords-regexp '(cc-langs))) '(1 font-lock-keyword-face)))) (if (c-get-lang-constant 'c-opt-identifier-concat-key '(cc-langs)) (progn (if (c-lang-major-mode-is 'java-mode) (list (c-make-font-lock-search-function (concat (c-get-lang-constant 'c-opt-identifier-concat-key '(cc-langs)) (c-get-lang-constant 'c-simple-ws '(cc-langs)) "*" (concat "\\(" "[" c-upper "]" "[" (c-get-lang-constant 'c-symbol-chars '(cc-langs)) "]*" "\\|" "\\*" "\\)")) (cons (list 'let '(id-end) '(goto-char (1+ (match-beginning 0))) (cons 'while (cons (cons 'and (cons '(eq (char-before) 46) (cons (list 'progn '(backward-char) '(c-backward-syntactic-ws) '(setq id-end (point)) (cons '< (cons (list 'skip-chars-backward (c-get-lang-constant 'c-symbol-chars '(cc-langs))) '(0)))) '((not (get-text-property (point) 'face)))))) '((c-put-font-lock-face (point) id-end c-reference-face-name) (c-backward-syntactic-ws))))) '(nil (goto-char (match-end 0)))))) (list (list (byte-compile (list 'lambda '(limit) (cons 'while (cons (cons 're-search-forward (cons (concat "\\(\\<" "\\(" (c-get-lang-constant 'c-symbol-key '(cc-langs)) "\\)" (c-get-lang-constant 'c-simple-ws '(cc-langs)) "*" (c-get-lang-constant 'c-opt-identifier-concat-key '(cc-langs)) (c-get-lang-constant 'c-simple-ws '(cc-langs)) "*" "\\)" "\\(" (c-get-lang-constant 'c-opt-after-id-concat-key '(cc-langs)) "\\)") '(limit t))) '((unless (progn (goto-char (match-beginning 0)) (c-skip-comments-and-strings limit)) (or (get-text-property (match-beginning 2) 'face) (c-put-font-lock-face (match-beginning 2) (match-end 2) c-reference-face-name)) (goto-char (match-end 1))))))))))))) (if (c-lang-major-mode-is 'objc-mode) (progn (list (c-make-font-lock-search-function "\\[" '((c-fontify-types-and-refs nil (c-forward-syntactic-ws limit) (let ((start (point))) (when (eq (c-forward-type) 'known) (goto-char start) (let ((c-promote-possible-types t)) (c-forward-type)))) (if (> (point) limit) (goto-char limit))))) (c-make-font-lock-search-function (concat "\\<" (regexp-opt '("@interface" "@implementation" "@protocol") t) "\\>") '((c-fontify-types-and-refs ((parse-sexp-lookup-properties (cc-eval-when-compile (boundp 'parse-sexp-lookup-properties)))) (c-forward-objc-directive) nil) (goto-char (match-beginning 0))))))) '((eval list "\\(!\\)[^=]" 1 c-negation-char-face-name)))))) (defalias 'c-font-lock-complex-decl-prepare #[(limit) "o\203 \306\307\310\"\212`\311 \210\312o\204#\313`S\314\"\315>\203#`S\202$ \n\316#\210*\317 \210\212\311 \210o?\205:\313`S\314\")\211\320>\203W\214e\n\206Id}\210\321 \210)\322\n\323 \324=#\210)\212\f\205i\325 \205i\326\f!\205i\327)\330\207" [c-found-types pos limit prop c-cpp-expr-intro-re c-font-lock-context make-vector 53 0 c-backward-sws remove-text-properties get-text-property c-type (c-decl-arg-start c-decl-end c-decl-id-start c-decl-type-start) (c-type nil) c-parse-state (c-decl-id-start c-decl-type-start) c-forward-sws c-font-lock-declarators t c-decl-type-start c-beginning-of-macro looking-at in-cpp-expr nil] 6]) (defalias 'c-font-lock-<>-arglists #[(limit) "\306\211\307\211\211\211\211\211`W\203\326\310\306#\203\326\311\224\311\225`\fb\210\312!\204\307\211\313\f\314\"\211\315=\204\320\n\316=\203b\317!\203\320\320\311! \321 !\")\211\202z\322 \210`Sf\323>\203y\313`S\324\"\325=\204y\306\306\203\320 Sb\210\312!\204\306\307\"#\326\327$\211%$N*!\203\306&\203\306\313\f\314\"\204\306\330 \210\317&!\203\277\331\f \314'$\210\202\306\331\f \314\315$\210\332 \210* b\210\202 b\210\202.\307\207" [kwd-sym pos id-face id-end id-start c-restricted-<>-arglists t nil re-search-forward 1 c-skip-comments-and-strings get-text-property face font-lock-type-face font-lock-keyword-face looking-at match-string intern-soft c-backward-sws (40 44) c-type c-decl-arg-start c-forward-<>-arglist c-<>-type-kwds c-forward-sws put-text-property c-fontify-recorded-types-and-refs c-parse-and-markup-<>-arglists parse-sexp-lookup-properties limit c-opt-<>-arglist-start c-opt-<>-sexp-key keyword c-keywords-obarray c-record-ref-identifiers c-record-type-identifiers lang-constant keyword-sym c-opt-identifier-concat-key c-reference-face-name] 9]) (defalias 'c-font-lock-declarators #[(limit list types) "\306\307`\307\211\211\211\211\211\211\203\310\202\311,-./01/\203\257`2W\203\257\3073\312\3134!\203t5\314=\203Z\315\224\203Z`-\316 \210\313\317!\204Z\3063\202t\307f\320=\203j T\307u\210\202n\321\225b\210\322 \210\20253\204`-\316 \210`\211,/U)\204\257 \312U\204\227\307\323\324\217\203\257`2X\203\257\3136!\203\251\325\321!\210`2X\203\257\326\3272\306\211$\203\257\312\224\211.f\320=\203\326\307\212.b\210\330 *\203\326\331\202\327\332\321\224\205\340\321\224f\203\363\3067-b\210\333 \210)\202\n\203\334\n@\335\"\204\336\n@\nA\335\f$\210.b\210\307/8\203$\f\331=\2039\307\337\340\217\2032\214e2\206)d}\210\322 \210)\202}2b\210\202} \203o \341=\203[\342\321\3072#\312U\203[\313\343!\203[\307\344\345\217\202\\\306\203}\326\3462\347\306$\203}\350u\210\202}\214e2\206wd}\210\322 \210)`2W\203$\313\351!\203$`9\3369\211T\352 $\210)\307u\210\214e2\206\242d}\210\322 \210)`\211/\204)\353 \210. \307\207" [types separator-prop c-last-identifier-range got-init id-face paren-depth t nil c-decl-type-start c-decl-id-start 0 looking-at c++-mode 3 c-forward-name "\\(::\\)" 40 1 c-forward-sws (byte-code "\301`\302#b\207" [paren-depth scan-lists 1] 4) ((error)) c-forward-keyword-clause c-syntactic-re-search-forward "[;,]\\|\\s)\\|\\'\\|\\(=\\|\\s(\\)" c-at-toplevel-p font-lock-function-name-face font-lock-variable-name-face c-forward-type get-text-property face put-text-property (byte-code "\300`\301\"b\210\302\207" [scan-sexps 1 t] 3) ((error)) 61 c-forward-token-2 "{" (byte-code "\300`\301\"b\210\302\207" [scan-sexps 1 t] 3) ((error)) "[;,{]" move -1 "," c-type c-fontify-recorded-types-and-refs id-end id-start next-pos pos c-record-ref-identifiers c-record-type-identifiers limit got-identifier c-type-decl-prefix-key c-buffer-is-cc-mode c-decl-hangon-key c-promote-possible-types list -pos-] 12]) (defconst c-font-lock-maybe-decl-faces (list nil font-lock-type-face c-reference-face-name font-lock-keyword-face)) (defalias 'c-font-lock-declarations #[(limit) "\214\306\211\211\211\307\211\306\310\306\211\310\306\310 \311\312!X\203:e\212b\210\306w\210`)}\210\313\314$\210.\306\207" [parse-sexp-lookup-properties lbrace c-parse-and-markup-<>-arglists c-record-ref-identifiers label-type c-record-type-identifiers nil 0 t line-beginning-position 2 c-find-decl-spots #[(match-pos inside-macro) "`\306`\307\"\310=\203\311 !\204\315\n\203\311\n!\204\315 eV\205&\306 S\312\" Sf\313>\2047\314\211@\202\305 Sf\315=\203Y\212 b\210\316u\210\317 \210\311A!)\203Y\314\320@\202\305 eX\203g\321\320@\202\305\f\322=\203u\323\314@\202\305\f\324=\204\203 Sf\325=\203\213\326\314@\202\305\f\203\227\321\320@\202\305B\203\243 CW\202\247 DW\203\300\323\314@ SE\327E\211T\312\322$\210)\202\305\321\320@)\311F!\204\335\330 \210\317 \210\311F!\204\335b\210G\331=\203\365\311\332H\333Q!\203\365\334\225b\210\335 \210\336 I#\211J\337=\203 `I\340 \210\314\207J\203\302B\203\"`CV\203,`C\202,`DV\203,`DJ@b\210 \203\213 Sf\315=\205\214\212 Sb\210\330 \210\341\342!\343W\204\203G\344=\205\207`K\345\314x\343W\203z\346\314x\343W\203z\311L!\203z\343\225KY\203z\320\202Kb\210\314)\205\207\311M!)\202\214\320\211N\203\263\212\330 \210o\204\262`SE\327E\211T\312JA\203\256\347\202\257\350$\210))\351dNJA#\210)\340 \210\314\207b\210\352 O\353O!\211P)\203\347Pb\210\314\354\355\217\204\345b\210\356 \210\314\207 Sf\357=\203\373\360 \203\373\212\361 )\203\314f\315=\203#\212\317 \210\360 \205\212\361 )?\205\317 \210\314f\315=)\203#\356 \210\314\207Q\204S\352 \211O@\247\205J\212O@b\210\317 \210\311R!\206I\317 \210\311R!))\203S\356 \210\314\207\362\363!\314\211\211\211\211STUVOW\212\364W!@\211V\365=\203\205\330 \210`Sf\366=\203\205\364W!\210\352 O\367O!\211U\203\233Uf\370=\203\307\311F!\203\254\320T\343\225b\210\335 \210\371\320!\372>\203\300\351X\320T#\210\314\202\310b\210\320\202\310\320.\205+b\210\361\320 \314#\211Y\205+Y\373=\203\373\327Z\211[@@)Z\211[@A)\307\\$\210\202'Y\374=\203\327Z\211[@@)Z\211[@A)\307\310$\210\202'Y\375=\203'\376\377Z\"\210\314Z\320\207" [start-pos c-not-decl-init-keywords c-macro-with-semi-re match-pos type context get-text-property face font-lock-keyword-face looking-at c-type (40 44 91 60) nil 40 -1 c-backward-token-2 t arglist c-decl-arg-start decl c-<>-arg-sep 60 <> put-text-property c-backward-sws c++-mode "\\(more\\)\\([^" "]\\|$\\)" 1 c-forward-sws c-forward-decl-or-cast-1 cast c-fontify-recorded-types-and-refs skip-syntax-backward "w_" 0 pike-mode "-!%&*+/<=>^|~[]()" "`" c-decl-type-start c-decl-id-start c-font-lock-declarators c-parse-state c-cheap-inside-bracelist-p (byte-code "\300 \210\301\207" [forward-list t] 1) ((error)) c-forward-token-2 41 c-on-identifier c-forward-label c-determine-limit 1000 c-beginning-of-decl-1 same 125 c-most-enclosing-brace 123 c-forward-type (t known found) goto-target qt-1kwd-colon qt-2kwds-colon mapc #[(kwd) "\301@A\302\303$\207" [kwd put-text-property face font-lock-keyword-face] 5] c-restricted-<>-arglists c-block-stmt-2-key inside-macro max-type-decl-end-before-token max-type-decl-end -pos- c-typedef-key c-buffer-is-cc-mode c-symbol-chars last-cast-end decl-or-cast pos c-symbol-key c-paren-stmt-key decl-list paren-state lbrace c-enums-contain-decls c-brace-list-key c-recognize-knr-p is-typedef encl-pos bod-res decl-search-lim limit label-type c-record-ref-identifiers x c-label-face-name] 7] c-restricted-<>-arglists max-type-decl-end-before-token max-type-decl-end decl-or-cast last-cast-end context start-pos limit c-nonsymbol-chars c-decl-start-re c-font-lock-maybe-decl-faces] 13]) (defalias 'c-font-lock-enum-tail #[(limit) "\306 \307!` \203\255 f\310=\203\255\212 b\210\311 \210\312\313!\314W\204L \315=\203L`\316\317x\314W\203H\320\317x\314W\203H\321 !\203H\314\225\fY\204K\fb\210)\321!\206\213\311 \210\312\313!\314W\204\207 \315=\203\207`\316\317x\314W\203\203\320\317x\314W\203\203\321 !\203\203\314\225\fY\204\206\fb\210)\321!)\203\255\322\323\317\324#\210`S\325\211T\326\327$\210)\330 \210\331\324\317#\210+\317\207" [paren-state encl-pos start c-buffer-is-cc-mode pos c-symbol-key c-parse-state c-most-enclosing-brace 123 c-backward-sws skip-syntax-backward "w_" 0 pike-mode "-!%&*+/<=>^|~[]()" nil "`" looking-at c-syntactic-skip-backward "^{," t put-text-property c-type c-decl-id-start c-forward-sws c-font-lock-declarators c-brace-list-key -pos- limit] 5]) (defalias 'c-font-lock-enclosing-decls #[(limit) "\306 \307\310!\311\211\311\205X@A\f:\204 \ff\312=\203 \fb\210\313 !\314 !\211\2035\315 \210\203 \314!\203 \fb\210\311\316\317\217\203 \320 \210\321\322 #\210\202 -\207" [paren-state decl-search-lim decl-context in-typedef ps-elt c-typedef-key c-parse-state c-determine-limit 1000 nil 123 c-beginning-of-decl-1 looking-at c-forward-token-2 (byte-code "\300`\301\"b\207" [scan-sexps 1] 3) ((error)) c-forward-sws c-font-lock-declarators t c-opt-block-decls-with-vars-key limit] 5]) (byte-code "\300\301\302\"\210\300\303\304\"\207" [c-define-lang-constant c-simple-decl-matchers ((t append (if (c-lang-major-mode-is 'objc-mode) (progn (list (list (c-get-lang-constant 'c-opt-method-key '(cc-langs)) (cons (byte-compile #'(lambda (limit) (let ((parse-sexp-lookup-properties (progn (eval '(let ((c-inside-eval-when-compile t)) (boundp 'parse-sexp-lookup-properties)))))) (save-restriction (narrow-to-region (point-min) limit) (c-font-lock-objc-method))) nil)) '((goto-char (match-end 1)))))))) (list (list 'eval 'list (c-make-font-lock-search-function 'c-known-type-key '(1 'font-lock-type-face t) '((c-font-lock-declarators limit t nil) (save-match-data (goto-char (match-end 1)) (c-forward-syntactic-ws)) (goto-char (match-end 1)))))) (if (c-get-lang-constant 'c-type-prefix-kwds '(cc-langs)) (progn (let* ((prefix-re (c-make-keywords-re nil (c-get-lang-constant 'c-type-prefix-kwds '(cc-langs)))) (type-match (+ 2 (regexp-opt-depth prefix-re) (c-get-lang-constant 'c-simple-ws-depth '(cc-langs))))) (list (list (c-make-font-lock-search-function (concat "\\<\\(" prefix-re "\\)" (c-get-lang-constant 'c-simple-ws '(cc-langs)) "+" (concat "\\(" (c-get-lang-constant 'c-symbol-key '(cc-langs)) "\\)")) (cons type-match '('font-lock-type-face t)) (list '(c-font-lock-declarators limit t nil) (cons 'save-match-data (cons (list 'goto-char (list 'match-end type-match)) '((c-forward-syntactic-ws)))) (list 'goto-char (list 'match-end type-match))))))))) (if (c-get-lang-constant 'c-typeless-decl-kwds '(cc-langs)) (progn (list (list (c-make-font-lock-search-function (concat "\\<\\(" (regexp-opt (c-get-lang-constant 'c-typeless-decl-kwds '(cc-langs))) "\\)\\>") '((c-font-lock-declarators limit t nil) (save-match-data (goto-char (match-end 1)) (c-forward-syntactic-ws)) (goto-char (match-end 1)))))))) (if (c-get-lang-constant 'c-recognize-colon-labels '(cc-langs)) (progn '(c-font-lock-labels))))) c-complex-decl-matchers ((t cons 'c-font-lock-complex-decl-prepare (append (if (c-lang-major-mode-is 'objc-mode) (cons (c-make-font-lock-search-function (c-make-keywords-re t (delete "@class" (append (c-get-lang-constant 'c-protection-kwds '(cc-langs)) (c-get-lang-constant 'c-other-decl-kwds '(cc-langs)) nil))) '((c-put-char-property (1- (match-end 1)) 'c-type 'c-decl-end))) '(c-font-lock-objc-methods))) '(c-font-lock-declarations c-font-lock-enclosing-decls) (if (c-get-lang-constant 'c-recognize-<>-arglists '(cc-langs)) (progn '(c-font-lock-<>-arglists))) (list (let ((re (c-make-keywords-re nil (c-get-lang-constant 'c-primitive-type-kwds '(cc-langs))))) (if (c-lang-major-mode-is 'pike-mode) (cons (concat "\\(\\=.?\\|[^>]\\|[^-]>\\)" "\\<\\(" re "\\)\\>") '(2 font-lock-type-face)) (cons (concat "\\<\\(" re "\\)\\>") '(1 'font-lock-type-face))))) (if (c-get-lang-constant 'c-type-prefix-kwds '(cc-langs)) (progn (list (list (byte-compile (list 'lambda '(limit) (list 'c-fontify-types-and-refs '((c-promote-possible-types t) (parse-sexp-lookup-properties (cc-eval-when-compile (boundp 'parse-sexp-lookup-properties)))) (list 'save-restriction '(narrow-to-region (point) limit) (list 'while (cons 're-search-forward (cons (concat "\\<\\(" (c-make-keywords-re nil (c-get-lang-constant 'c-type-prefix-kwds '(cc-langs))) "\\)\\>") '(limit t))) (list 'unless '(c-skip-comments-and-strings limit) '(c-forward-syntactic-ws) '(when (or (looking-at c-prefix-spec-kwds-re) (and (c-major-mode-is 'java-mode) (looking-at "@[A-Za-z0-9]+"))) (c-forward-keyword-clause 1)) (if (c-lang-major-mode-is 'c++-mode) '(when (and (c-forward-type) (eq (char-after) 61)) (forward-char) (c-forward-syntactic-ws) (c-forward-type)) '(c-forward-type)))))))))))) (if (c-lang-major-mode-is 'c++-mode) (progn '(("\\<new\\>" (c-font-lock-c++-new))))))))] 3) (defalias 'c-font-lock-labels #[(limit) "\306\211\307\310\311 \307#\203p`\312\224b\210\313 !\204\314 \210\315 \211\203j\316 \317\"\204j b\210\314 \210`Sf\320>\204Z`Sf\321=\203U\322u\210\314 \210o\204U\316`S\317\"\f=\204Z\323 \203j b\210\324 !\210\325\312\224\312\225\317\f$\210\nb\210\202+\306\207" [parse-sexp-lookup-properties id-start continue-pos limit c-label-face-name c-symbol-key nil t re-search-forward ":[^:]" 0 c-skip-comments-and-strings c-backward-sws c-on-identifier get-text-property face (125 123 59) 58 -1 c-after-conditional looking-at put-text-property] 5]) (byte-code "\300\301\302\"\210\300\303\304\"\210\300\305\306\"\210\300\307\310\"\207" [c-define-lang-constant c-basic-matchers-after ((t append (if (c-get-lang-constant 'c-brace-id-list-kwds '(cc-langs)) (progn (list 'c-font-lock-enum-tail (list (c-make-font-lock-search-function (concat "\\<\\(" (c-make-keywords-re nil (c-get-lang-constant 'c-brace-id-list-kwds '(cc-langs))) "\\)\\>" "[^][{}();,/#=]*" "{") '((c-font-lock-declarators limit t nil) (save-match-data (goto-char (match-end 0)) (c-put-char-property (1- (point)) 'c-type 'c-decl-id-start) (c-forward-syntactic-ws)) (goto-char (match-end 0)))))))) (if (c-get-lang-constant 'c-before-label-kwds '(cc-langs)) (progn (list (cons 'eval (let* ((c-before-label-re (c-make-keywords-re nil (c-get-lang-constant 'c-before-label-kwds '(cc-langs))))) (list 'list (concat "\\<\\(" c-before-label-re "\\)\\>" "\\s *" "\\(" (c-get-lang-constant 'c-symbol-key '(cc-langs)) "\\)") (cons 'list (cons (+ (regexp-opt-depth c-before-label-re) 2) '(c-label-face-name nil t))))))))) (if (or (c-get-lang-constant 'c-type-list-kwds '(cc-langs)) (c-get-lang-constant 'c-ref-list-kwds '(cc-langs)) (c-get-lang-constant 'c-colon-type-list-kwds '(cc-langs))) (progn (list (list (c-make-font-lock-BO-decl-search-function (concat "\\<\\(" (c-make-keywords-re nil (append (c-get-lang-constant 'c-type-list-kwds '(cc-langs)) (c-get-lang-constant 'c-ref-list-kwds '(cc-langs)) (c-get-lang-constant 'c-colon-type-list-kwds '(cc-langs)))) "\\)\\>") '((c-fontify-types-and-refs ((c-promote-possible-types t)) (c-forward-keyword-clause 1) (if (> (point) limit) (goto-char limit))))))))) (if (c-get-lang-constant 'c-paren-type-kwds '(cc-langs)) (progn (list (list (c-make-font-lock-search-function (concat "\\<\\(" (c-make-keywords-re nil (c-get-lang-constant 'c-paren-type-kwds '(cc-langs))) "\\)\\>") '((c-fontify-types-and-refs ((c-promote-possible-types t)) (c-forward-keyword-clause 1) (if (> (point) limit) (goto-char limit))))))))) (if (c-lang-major-mode-is 'java-mode) (progn '((eval list "\\<\\(@[a-zA-Z0-9]+\\)\\>" 1 c-annotation-face)))))) c-matchers-1 ((t c-get-lang-constant 'c-cpp-matchers)) c-matchers-2 ((t append (c-get-lang-constant 'c-matchers-1) (c-get-lang-constant 'c-basic-matchers-before) (c-get-lang-constant 'c-simple-decl-matchers) (c-get-lang-constant 'c-basic-matchers-after))) c-matchers-3 ((t append (c-get-lang-constant 'c-matchers-1) (c-get-lang-constant 'c-basic-matchers-before) (c-get-lang-constant 'c-complex-decl-matchers) (c-get-lang-constant 'c-basic-matchers-after)))] 3) (defalias 'c-compose-keywords-list #[(base-list) " >\204\n B\n\242:\203 \n\236\206\306\n\236\243\202\n\307\310\311\312\f<\203,\f\202.\fC\"\" \244\313>\203G\313\314\313\315\316\"\"B*\207" [c-doc-face-name c-literal-faces c-doc-comment-style c-buffer-is-cc-mode doc-keywords base-list other apply nconc mapcar #[(doc-style) "\302\303!\304P!\305 !\203 \202\306 !\205\307\310 !\311\")\207" [doc-style sym intern symbol-name "-font-lock-keywords" fboundp boundp append eval nil] 3] c-font-lock-complex-decl-prepare delq append nil list] 6]) (defalias 'c-override-default-keywords #[(def-var) "\301!\205J\302\303\304\305\"B>\205\306!\207" [def-var boundp nil mapcar #[(suffix) "\303\304! P!\305\n!\205\nJ)\207" [def-var suffix sym intern symbol-name boundp] 3] ("-1" "-2" "-3") makunbound] 5]) (c-override-default-keywords 'c-font-lock-keywords) #@143 Minimal font locking for C mode. Fontifies only preprocessor directives (in addition to the syntactic fontification of strings and comments). (defconst c-font-lock-keywords-1 (byte-code "\301=\203\302\207\303\304\305\306#\207" [c-version-sym 5\.32\.4 (("\\(\\=\\|\\(\\=\\|[^\\]\\)[\n ]\\)\\s *#\\s *\\(\\(?:\\(?:error\\|warning\\)\\>\\)\\)\\s +\\(.*\\)$" 4 font-lock-string-face t) ("\\(\\=\\|\\(\\=\\|[^\\]\\)[\n ]\\)\\s *#\\s *\\(?:include\\)\\(\\s \\|[\n ]\\)*\\(\\(//[^\n ]*[\n ]\\|/\\*[^*\n ]*\\(\\*+[^*\n /][^*\n ]*\\)*\\*+/\\|\\\\[\n ]\\|\\s!\\S!*\\s!\\)\\(\\s \\|[\n ]\\)*\\)*\\(<[^>\n ]*>?\\)" (8 font-lock-string-face) (#[(limit) "\304\224\304\225Sf\305=\203+ \211\306 \211T\307\310$\210*\211\306 \211T\307\311$\210*\2025 \312\n\211T\313#\210)*\314\207" [end beg pos -pos- 8 62 put-text-property category c-<-as-paren-syntax c->-as-paren-syntax remove-text-properties (category nil) nil] 6])) (#[#1=(limit) "\304\300!\305\306 \307#\203m\310\224b\210\311 !\204\310\225b\210\312 \313\216\314\224\203`\214\315\316\224\316\225\317\320$\210\314\225b\210e }\210\321 \210\322 !\203\\\315\310\224\310\225\317\323$\210\310\225b\210\321 \210\324f\325=\203\\\324u\210\2026)\202i\315\316\224\316\225\317\323$\210*\202)\324\207" [parse-sexp-lookup-properties limit save-match-data-internal c-symbol-key boundp re-search-forward "\\(\\=\\|\\(\\=\\|[^\\]\\)[\n ]\\)\\s *#\\s *define\\(\\(\\s \\|[\n ]\\)\\|//[^\n ]*[\n ]\\|/\\*[^*\n ]*\\(\\*+[^*\n /][^*\n ]*\\)*\\*+/\\|\\\\[\n ]\\|\\s!\\S!*\\s!\\)+\\([[:alpha:]_][[:alnum:]_$]*\\)\\(\\((\\)\\|\\([^(]\\|$\\)\\)" t 0 c-skip-comments-and-strings match-data ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) 8 put-text-property 6 face font-lock-function-name-face c-forward-sws looking-at font-lock-variable-name-face nil 44] 5]) (#[(limit) "\305\300! \306=\203:\212\307 \210`)\310\311\n\312#\2039\313\224b\210\314\n!\204\313\225b\210\315 \316\216\317\320\224\320\225\321\f$\210*\202)\310\322\n\312#\203t\313\224b\210\314\n!\204:\313\225b\210\323\225b\210\315 \324\216\313\225\310\311\n\325#\203p\317\320\224\320\225\321\f$\210\202\\+\202:)\326\207" [parse-sexp-lookup-properties c-font-lock-context limit save-match-data-internal c-preprocessor-face-name boundp in-cpp-expr c-end-of-macro re-search-forward "\\(\\(?:defined\\)\\)\\([^[:alnum:]_$]\\|$\\)" t 0 c-skip-comments-and-strings match-data ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) put-text-property 1 face "\\(\\=\\|\\(\\=\\|[^\\]\\)[\n ]\\)\\s *#\\s *\\(\\(?:\\(?:el\\)?if\\)\\)\\([^[:alnum:]_$]\\|$\\)\\(\\\\\\(.\\|[\n ]\\)\\|[^\n ]\\)*" 3 ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) move nil] 5]) (#[#1# "\304\300!\305\306 \307#\203,\310\224b\210\311 !\204\310\225b\210\312 \313\216\314\315\224\315\225\316 $\210*\202)\317\207" [parse-sexp-lookup-properties limit save-match-data-internal c-preprocessor-face-name boundp re-search-forward "\\(\\=\\|\\(\\=\\|[^\\]\\)[\n ]\\)\\(\\s *#\\s *[[:alnum:]_$]+\\)" t 0 c-skip-comments-and-strings match-data ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) put-text-property 3 face nil] 5]) (eval list #[(limit) "\302\303\304 \305#\211\203\306\224b\210\307 !\204\306\225b\210)\207" [res limit nil re-search-forward "\\(\\=\\|\\(\\=\\|[^\\]\\)[\n ]\\)\\s *#\\s *if\\(n\\)def\\>" t 0 c-skip-comments-and-strings] 4] 3 c-negation-char-face-name 'append) (eval list "\240" 0 (progn (unless (c-face-name-p 'c-nonbreakable-space-face) (c-make-inverse-face 'font-lock-warning-face 'c-nonbreakable-space-face)) ''c-nonbreakable-space-face))) c-get-lang-constant c-matchers-1 nil c-mode] 4) (#$ . 31478)) #@287 Fast normal font locking for C mode. In addition to `c-font-lock-keywords-1', this adds fontification of keywords, simple types, declarations that are easy to recognize, the user defined types on `c-font-lock-extra-types', and the doc comment styles specified by `c-doc-comment-style'. (defconst c-font-lock-keywords-2 (byte-code "\301=\203\302\207\303\304\305\306#\207" [c-version-sym 5\.32\.4 (("\\(\\=\\|\\(\\=\\|[^\\]\\)[\n ]\\)\\s *#\\s *\\(\\(?:\\(?:error\\|warning\\)\\>\\)\\)\\s +\\(.*\\)$" 4 font-lock-string-face t) ("\\(\\=\\|\\(\\=\\|[^\\]\\)[\n ]\\)\\s *#\\s *\\(?:include\\)\\(\\s \\|[\n ]\\)*\\(\\(//[^\n ]*[\n ]\\|/\\*[^*\n ]*\\(\\*+[^*\n /][^*\n ]*\\)*\\*+/\\|\\\\[\n ]\\|\\s!\\S!*\\s!\\)\\(\\s \\|[\n ]\\)*\\)*\\(<[^>\n ]*>?\\)" (8 font-lock-string-face) (#[(limit) "\304\224\304\225Sf\305=\203+ \211\306 \211T\307\310$\210*\211\306 \211T\307\311$\210*\2025 \312\n\211T\313#\210)*\314\207" [end beg pos -pos- 8 62 put-text-property category c-<-as-paren-syntax c->-as-paren-syntax remove-text-properties (category nil) nil] 6])) (#[#1=(limit) "\304\300!\305\306 \307#\203m\310\224b\210\311 !\204\310\225b\210\312 \313\216\314\224\203`\214\315\316\224\316\225\317\320$\210\314\225b\210e }\210\321 \210\322 !\203\\\315\310\224\310\225\317\323$\210\310\225b\210\321 \210\324f\325=\203\\\324u\210\2026)\202i\315\316\224\316\225\317\323$\210*\202)\324\207" [parse-sexp-lookup-properties limit save-match-data-internal c-symbol-key boundp re-search-forward "\\(\\=\\|\\(\\=\\|[^\\]\\)[\n ]\\)\\s *#\\s *define\\(\\(\\s \\|[\n ]\\)\\|//[^\n ]*[\n ]\\|/\\*[^*\n ]*\\(\\*+[^*\n /][^*\n ]*\\)*\\*+/\\|\\\\[\n ]\\|\\s!\\S!*\\s!\\)+\\([[:alpha:]_][[:alnum:]_$]*\\)\\(\\((\\)\\|\\([^(]\\|$\\)\\)" t 0 c-skip-comments-and-strings match-data ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) 8 put-text-property 6 face font-lock-function-name-face c-forward-sws looking-at font-lock-variable-name-face nil 44] 5]) (#[(limit) "\305\300! \306=\203:\212\307 \210`)\310\311\n\312#\2039\313\224b\210\314\n!\204\313\225b\210\315 \316\216\317\320\224\320\225\321\f$\210*\202)\310\322\n\312#\203t\313\224b\210\314\n!\204:\313\225b\210\323\225b\210\315 \324\216\313\225\310\311\n\325#\203p\317\320\224\320\225\321\f$\210\202\\+\202:)\326\207" [parse-sexp-lookup-properties c-font-lock-context limit save-match-data-internal c-preprocessor-face-name boundp in-cpp-expr c-end-of-macro re-search-forward "\\(\\(?:defined\\)\\)\\([^[:alnum:]_$]\\|$\\)" t 0 c-skip-comments-and-strings match-data ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) put-text-property 1 face "\\(\\=\\|\\(\\=\\|[^\\]\\)[\n ]\\)\\s *#\\s *\\(\\(?:\\(?:el\\)?if\\)\\)\\([^[:alnum:]_$]\\|$\\)\\(\\\\\\(.\\|[\n ]\\)\\|[^\n ]\\)*" 3 ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) move nil] 5]) (#[#1# "\304\300!\305\306 \307#\203,\310\224b\210\311 !\204\310\225b\210\312 \313\216\314\315\224\315\225\316 $\210*\202)\317\207" [parse-sexp-lookup-properties limit save-match-data-internal c-preprocessor-face-name boundp re-search-forward "\\(\\=\\|\\(\\=\\|[^\\]\\)[\n ]\\)\\(\\s *#\\s *[[:alnum:]_$]+\\)" t 0 c-skip-comments-and-strings match-data ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) put-text-property 3 face nil] 5]) (eval list #[(limit) "\302\303\304 \305#\211\203\306\224b\210\307 !\204\306\225b\210)\207" [res limit nil re-search-forward "\\(\\=\\|\\(\\=\\|[^\\]\\)[\n ]\\)\\s *#\\s *if\\(n\\)def\\>" t 0 c-skip-comments-and-strings] 4] 3 c-negation-char-face-name 'append) (eval list "\240" 0 (progn (unless (c-face-name-p 'c-nonbreakable-space-face) (c-make-inverse-face 'font-lock-warning-face 'c-nonbreakable-space-face)) ''c-nonbreakable-space-face)) #[#1# "\303\300!\304\305 \306#\203&\307\224b\210\310 !\204\307\225b\210\311 \312\216\313 \210*\202)\314\207" [parse-sexp-lookup-properties limit save-match-data-internal boundp re-search-forward ".\\(\\s\"\\|\\s|\\)" t 0 c-skip-comments-and-strings match-data ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) c-font-lock-invalid-string nil] 4] (eval list "\\<\\(\\(?:NULL\\|\\(?:fals\\|tru\\)e\\)\\)\\>" 1 c-constant-face-name) ("\\<\\(\\(?:__\\(?:a\\(?:\\(?:sm\\|ttribute\\)__\\)\\|declspec\\)\\|a\\(?:sm\\|uto\\)\\|break\\|c\\(?:ase\\|on\\(?:st\\|tinue\\)\\)\\|d\\(?:efault\\|o\\)\\|e\\(?:lse\\|num\\|xtern\\)\\|for\\|goto\\|i\\(?:f\\|nline\\)\\|re\\(?:gister\\|strict\\|turn\\)\\|s\\(?:izeof\\|t\\(?:atic\\|ruct\\)\\|witch\\)\\|typedef\\|union\\|\\(?:volat\\|wh\\)ile\\)\\)\\([^[:alnum:]_$]\\|$\\)" 1 font-lock-keyword-face) (eval list "\\(!\\)[^=]" 1 c-negation-char-face-name) (eval list #[#1# "\304\300!\305 \n\306#\203I\307\224b\210\310\n!\204\307\225b\210\311 \312\216\313\314\224\314\225\315\316$\210*\311 \317\216\314\225b\210\320 \210*\311 \321\216\322\n\306\323#\210*\314\225b\210\202)\323\207" [parse-sexp-lookup-properties c-known-type-key limit save-match-data-internal boundp re-search-forward t 0 c-skip-comments-and-strings match-data ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) put-text-property 1 face font-lock-type-face ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) c-forward-sws ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) c-font-lock-declarators nil] 5]) (#[#1# "\303\300!\304\305 \306#\203I\307\224b\210\310 !\204\307\225b\210\311 \312\216\313\314\224\314\225\315\316$\210*\311 \317\216\314\225b\210\320 \210*\311 \321\216\322 \306\323#\210*\314\225b\210\202)\323\207" [parse-sexp-lookup-properties limit save-match-data-internal boundp re-search-forward "\\<\\(\\(?:enum\\|struct\\|union\\)\\)\\(\\s \\|[\n ]\\)+\\([[:alpha:]_][[:alnum:]_$]*\\)" t 0 c-skip-comments-and-strings match-data ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) put-text-property 3 face font-lock-type-face ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) c-forward-sws ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) c-font-lock-declarators nil] 5]) (#[#1# "\303\300!\304\305 \306#\203:\307\224b\210\310 !\204\307\225b\210\311 \312\216\313\225b\210\314 \210*\311 \315\216\316 \306\317#\210*\313\225b\210\202)\317\207" [parse-sexp-lookup-properties limit save-match-data-internal boundp re-search-forward "\\<\\(\\(?:enum\\|struct\\|union\\)\\)\\>" t 0 c-skip-comments-and-strings match-data ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) 1 c-forward-sws ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) c-font-lock-declarators nil] 4]) c-font-lock-labels c-font-lock-enum-tail (#[#1# "\304\300!\305\306 \307#\203F\310\224b\210\311 !\204\310\225b\210\312 \313\216\310\225b\210`S\314 \211T\315\316$\210)\317 \210*\312 \320\216\321 \307\322#\210*\310\225b\210\202)\322\207" [parse-sexp-lookup-properties limit save-match-data-internal -pos- boundp re-search-forward "\\<\\(\\(?:enum\\)\\)\\>[^][{}();,/#=]*{" t 0 c-skip-comments-and-strings match-data ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) put-text-property c-type c-decl-id-start c-forward-sws ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) c-font-lock-declarators nil] 5]) (eval list "\\<\\(\\(?:goto\\)\\)\\>\\s *\\([[:alpha:]_][[:alnum:]_$]*\\)" (list 2 c-label-face-name nil t))) c-get-lang-constant c-matchers-2 nil c-mode] 4) (#$ . 35244)) #@213 Accurate normal font locking for C mode. Like `c-font-lock-keywords-2' but detects declarations in a more accurate way that works in most cases for arbitrary types without the need for `c-font-lock-extra-types'. (defconst c-font-lock-keywords-3 (byte-code "\301=\203\302\207\303\304\305\306#\207" [c-version-sym 5\.32\.4 (("\\(\\=\\|\\(\\=\\|[^\\]\\)[\n ]\\)\\s *#\\s *\\(\\(?:\\(?:error\\|warning\\)\\>\\)\\)\\s +\\(.*\\)$" 4 font-lock-string-face t) ("\\(\\=\\|\\(\\=\\|[^\\]\\)[\n ]\\)\\s *#\\s *\\(?:include\\)\\(\\s \\|[\n ]\\)*\\(\\(//[^\n ]*[\n ]\\|/\\*[^*\n ]*\\(\\*+[^*\n /][^*\n ]*\\)*\\*+/\\|\\\\[\n ]\\|\\s!\\S!*\\s!\\)\\(\\s \\|[\n ]\\)*\\)*\\(<[^>\n ]*>?\\)" (8 font-lock-string-face) (#[(limit) "\304\224\304\225Sf\305=\203+ \211\306 \211T\307\310$\210*\211\306 \211T\307\311$\210*\2025 \312\n\211T\313#\210)*\314\207" [end beg pos -pos- 8 62 put-text-property category c-<-as-paren-syntax c->-as-paren-syntax remove-text-properties (category nil) nil] 6])) (#[#1=(limit) "\304\300!\305\306 \307#\203m\310\224b\210\311 !\204\310\225b\210\312 \313\216\314\224\203`\214\315\316\224\316\225\317\320$\210\314\225b\210e }\210\321 \210\322 !\203\\\315\310\224\310\225\317\323$\210\310\225b\210\321 \210\324f\325=\203\\\324u\210\2026)\202i\315\316\224\316\225\317\323$\210*\202)\324\207" [parse-sexp-lookup-properties limit save-match-data-internal c-symbol-key boundp re-search-forward "\\(\\=\\|\\(\\=\\|[^\\]\\)[\n ]\\)\\s *#\\s *define\\(\\(\\s \\|[\n ]\\)\\|//[^\n ]*[\n ]\\|/\\*[^*\n ]*\\(\\*+[^*\n /][^*\n ]*\\)*\\*+/\\|\\\\[\n ]\\|\\s!\\S!*\\s!\\)+\\([[:alpha:]_][[:alnum:]_$]*\\)\\(\\((\\)\\|\\([^(]\\|$\\)\\)" t 0 c-skip-comments-and-strings match-data ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) 8 put-text-property 6 face font-lock-function-name-face c-forward-sws looking-at font-lock-variable-name-face nil 44] 5]) (#[(limit) "\305\300! \306=\203:\212\307 \210`)\310\311\n\312#\2039\313\224b\210\314\n!\204\313\225b\210\315 \316\216\317\320\224\320\225\321\f$\210*\202)\310\322\n\312#\203t\313\224b\210\314\n!\204:\313\225b\210\323\225b\210\315 \324\216\313\225\310\311\n\325#\203p\317\320\224\320\225\321\f$\210\202\\+\202:)\326\207" [parse-sexp-lookup-properties c-font-lock-context limit save-match-data-internal c-preprocessor-face-name boundp in-cpp-expr c-end-of-macro re-search-forward "\\(\\(?:defined\\)\\)\\([^[:alnum:]_$]\\|$\\)" t 0 c-skip-comments-and-strings match-data ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) put-text-property 1 face "\\(\\=\\|\\(\\=\\|[^\\]\\)[\n ]\\)\\s *#\\s *\\(\\(?:\\(?:el\\)?if\\)\\)\\([^[:alnum:]_$]\\|$\\)\\(\\\\\\(.\\|[\n ]\\)\\|[^\n ]\\)*" 3 ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) move nil] 5]) (#[#1# "\304\300!\305\306 \307#\203,\310\224b\210\311 !\204\310\225b\210\312 \313\216\314\315\224\315\225\316 $\210*\202)\317\207" [parse-sexp-lookup-properties limit save-match-data-internal c-preprocessor-face-name boundp re-search-forward "\\(\\=\\|\\(\\=\\|[^\\]\\)[\n ]\\)\\(\\s *#\\s *[[:alnum:]_$]+\\)" t 0 c-skip-comments-and-strings match-data ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) put-text-property 3 face nil] 5]) (eval list #[(limit) "\302\303\304 \305#\211\203\306\224b\210\307 !\204\306\225b\210)\207" [res limit nil re-search-forward "\\(\\=\\|\\(\\=\\|[^\\]\\)[\n ]\\)\\s *#\\s *if\\(n\\)def\\>" t 0 c-skip-comments-and-strings] 4] 3 c-negation-char-face-name 'append) (eval list "\240" 0 (progn (unless (c-face-name-p 'c-nonbreakable-space-face) (c-make-inverse-face 'font-lock-warning-face 'c-nonbreakable-space-face)) ''c-nonbreakable-space-face)) #[#1# "\303\300!\304\305 \306#\203&\307\224b\210\310 !\204\307\225b\210\311 \312\216\313 \210*\202)\314\207" [parse-sexp-lookup-properties limit save-match-data-internal boundp re-search-forward ".\\(\\s\"\\|\\s|\\)" t 0 c-skip-comments-and-strings match-data ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) c-font-lock-invalid-string nil] 4] (eval list "\\<\\(\\(?:NULL\\|\\(?:fals\\|tru\\)e\\)\\)\\>" 1 c-constant-face-name) ("\\<\\(\\(?:__\\(?:a\\(?:\\(?:sm\\|ttribute\\)__\\)\\|declspec\\)\\|a\\(?:sm\\|uto\\)\\|break\\|c\\(?:ase\\|on\\(?:st\\|tinue\\)\\)\\|d\\(?:efault\\|o\\)\\|e\\(?:lse\\|num\\|xtern\\)\\|for\\|goto\\|i\\(?:f\\|nline\\)\\|re\\(?:gister\\|strict\\|turn\\)\\|s\\(?:izeof\\|t\\(?:atic\\|ruct\\)\\|witch\\)\\|typedef\\|union\\|\\(?:volat\\|wh\\)ile\\)\\)\\([^[:alnum:]_$]\\|$\\)" 1 font-lock-keyword-face) (eval list "\\(!\\)[^=]" 1 c-negation-char-face-name) c-font-lock-complex-decl-prepare c-font-lock-declarations c-font-lock-enclosing-decls ("\\<\\(\\(?:_\\(?:Bool\\|Complex\\|Imaginary\\)\\|char\\|double\\|float\\|int\\|long\\|s\\(?:hort\\|igned\\)\\|\\(?:unsigne\\|voi\\)d\\)\\)\\>" 1 'font-lock-type-face) (#[(limit) "\306\307\306\310\300!\214`\f}\210\311\312\f\306#\205=\313\f!\204\314 \210\315 !\2043\316=\2037\315\317!\2037\320\321!\210\322 \210\202)\323 \210,\207" [parse-sexp-lookup-properties c-promote-possible-types c-record-ref-identifiers c-record-type-identifiers limit c-prefix-spec-kwds-re t nil boundp re-search-forward "\\<\\(\\(?:enum\\|struct\\|union\\)\\)\\>" c-skip-comments-and-strings c-forward-sws looking-at java-mode "@[A-Za-z0-9]+" c-forward-keyword-clause 1 c-forward-type c-fontify-recorded-types-and-refs c-buffer-is-cc-mode] 5]) c-font-lock-enum-tail (#[#1# "\304\300!\305\306 \307#\203F\310\224b\210\311 !\204\310\225b\210\312 \313\216\310\225b\210`S\314 \211T\315\316$\210)\317 \210*\312 \320\216\321 \307\322#\210*\310\225b\210\202)\322\207" [parse-sexp-lookup-properties limit save-match-data-internal -pos- boundp re-search-forward "\\<\\(\\(?:enum\\)\\)\\>[^][{}();,/#=]*{" t 0 c-skip-comments-and-strings match-data ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) put-text-property c-type c-decl-id-start c-forward-sws ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) c-font-lock-declarators nil] 5]) (eval list "\\<\\(\\(?:goto\\)\\)\\>\\s *\\([[:alpha:]_][[:alnum:]_$]*\\)" (list 2 c-label-face-name nil t))) c-get-lang-constant c-matchers-3 nil c-mode] 4) (#$ . 42966)) #@45 Default expressions to highlight in C mode. (defvar c-font-lock-keywords c-font-lock-keywords-3 (#$ . 49320)) (defalias 'c-font-lock-keywords-2 #[nil "\301!\207" [c-font-lock-keywords-2 c-compose-keywords-list] 2]) (defalias 'c-font-lock-keywords-3 #[nil "\301!\207" [c-font-lock-keywords-3 c-compose-keywords-list] 2]) (defalias 'c-font-lock-keywords #[nil "\301!\207" [c-font-lock-keywords c-compose-keywords-list] 2]) (defalias 'c-font-lock-c++-new #[(limit) "\301!\204\f\212\302\303\215\210)\304\207" [limit c-skip-comments-and-strings false-alarm (byte-code "\306\211\307\306\307\310 \210\306f\311=\203`T\306\312\313\217\210\310 \210`T\306f\311=\2043\307\314 )\2043\306\f\203\363 \204G\fb\210\307\314 \210)\202\363 Sf\311=\203\363\306\211\fb\210\314 \211\203i\315\316!\204i\306 b\210\314 \211\203\221\315\316!\204}\306\306\317\320\217\203\221\310 \210\306f\311=\203\221\306\321>\204\362\322>\204\362\323=\203\262\307\fb\210\314 \210)\202\362\323=\203\305\307 b\210\314 \210)\202\362\324=\203\335\204\335\307\fb\210\314 \210)\202\362\204\362\324=\203\362\307 b\210\314 \210)*\325 \210-\306\207" [parse-sexp-lookup-properties c-record-ref-identifiers c-record-type-identifiers expr2-pos expr1-pos c-promote-possible-types nil t c-forward-sws 40 (byte-code "\300`\301\"b\207" [scan-sexps 1] 3) ((scan-error (byte-code "\300\301\302\"\207" [throw false-alarm t] 3))) c-forward-type looking-at "[[:alpha:]_]\\|[*:)[]" (byte-code "\300`\301\211#b\210\302\207" [scan-lists 1 t] 4) ((error)) (t known prefix) (t known prefix) found maybe c-fontify-recorded-types-and-refs expr2-res expr1-res] 5) nil] 2]) (c-override-default-keywords 'c++-font-lock-keywords) #@145 Minimal font locking for C++ mode. Fontifies only preprocessor directives (in addition to the syntactic fontification of strings and comments). (defconst c++-font-lock-keywords-1 (byte-code "\301=\203\302\207\303\304\305\306#\207" [c-version-sym 5\.32\.4 (("\\(\\=\\|\\(\\=\\|[^\\]\\)[\n ]\\)\\s *#\\s *\\(\\(?:\\(?:error\\|warning\\)\\>\\)\\)\\s +\\(.*\\)$" 4 font-lock-string-face t) ("\\(\\=\\|\\(\\=\\|[^\\]\\)[\n ]\\)\\s *#\\s *\\(?:include\\)\\(\\s \\|[\n ]\\)*\\(\\(//[^\n ]*[\n ]\\|/\\*[^*\n ]*\\(\\*+[^*\n /][^*\n ]*\\)*\\*+/\\|\\\\[\n ]\\|\\s!\\S!*\\s!\\)\\(\\s \\|[\n ]\\)*\\)*\\(<[^>\n ]*>?\\)" (8 font-lock-string-face) (#[(limit) "\304\224\304\225Sf\305=\203+ \211\306 \211T\307\310$\210*\211\306 \211T\307\311$\210*\2025 \312\n\211T\313#\210)*\314\207" [end beg pos -pos- 8 62 put-text-property category c-<-as-paren-syntax c->-as-paren-syntax remove-text-properties (category nil) nil] 6])) (#[#1=(limit) "\304\300!\305\306 \307#\203m\310\224b\210\311 !\204\310\225b\210\312 \313\216\314\224\203`\214\315\316\224\316\225\317\320$\210\314\225b\210e }\210\321 \210\322 !\203\\\315\310\224\310\225\317\323$\210\310\225b\210\321 \210\324f\325=\203\\\324u\210\2026)\202i\315\316\224\316\225\317\323$\210*\202)\324\207" [parse-sexp-lookup-properties limit save-match-data-internal c-symbol-key boundp re-search-forward "\\(\\=\\|\\(\\=\\|[^\\]\\)[\n ]\\)\\s *#\\s *define\\(\\(\\s \\|[\n ]\\)\\|//[^\n ]*[\n ]\\|/\\*[^*\n ]*\\(\\*+[^*\n /][^*\n ]*\\)*\\*+/\\|\\\\[\n ]\\|\\s!\\S!*\\s!\\)+\\([[:alpha:]_][[:alnum:]_$]*\\)\\(\\((\\)\\|\\([^(]\\|$\\)\\)" t 0 c-skip-comments-and-strings match-data ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) 8 put-text-property 6 face font-lock-function-name-face c-forward-sws looking-at font-lock-variable-name-face nil 44] 5]) (#[(limit) "\305\300! \306=\203:\212\307 \210`)\310\311\n\312#\2039\313\224b\210\314\n!\204\313\225b\210\315 \316\216\317\320\224\320\225\321\f$\210*\202)\310\322\n\312#\203t\313\224b\210\314\n!\204:\313\225b\210\323\225b\210\315 \324\216\313\225\310\311\n\325#\203p\317\320\224\320\225\321\f$\210\202\\+\202:)\326\207" [parse-sexp-lookup-properties c-font-lock-context limit save-match-data-internal c-preprocessor-face-name boundp in-cpp-expr c-end-of-macro re-search-forward "\\(\\(?:defined\\)\\)\\([^[:alnum:]_$]\\|$\\)" t 0 c-skip-comments-and-strings match-data ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) put-text-property 1 face "\\(\\=\\|\\(\\=\\|[^\\]\\)[\n ]\\)\\s *#\\s *\\(\\(?:\\(?:el\\)?if\\)\\)\\([^[:alnum:]_$]\\|$\\)\\(\\\\\\(.\\|[\n ]\\)\\|[^\n ]\\)*" 3 ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) move nil] 5]) (#[#1# "\304\300!\305\306 \307#\203,\310\224b\210\311 !\204\310\225b\210\312 \313\216\314\315\224\315\225\316 $\210*\202)\317\207" [parse-sexp-lookup-properties limit save-match-data-internal c-preprocessor-face-name boundp re-search-forward "\\(\\=\\|\\(\\=\\|[^\\]\\)[\n ]\\)\\(\\s *#\\s *[[:alnum:]_$]+\\)" t 0 c-skip-comments-and-strings match-data ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) put-text-property 3 face nil] 5]) (eval list #[(limit) "\302\303\304 \305#\211\203\306\224b\210\307 !\204\306\225b\210)\207" [res limit nil re-search-forward "\\(\\=\\|\\(\\=\\|[^\\]\\)[\n ]\\)\\s *#\\s *if\\(n\\)def\\>" t 0 c-skip-comments-and-strings] 4] 3 c-negation-char-face-name 'append) (eval list "\240" 0 (progn (unless (c-face-name-p 'c-nonbreakable-space-face) (c-make-inverse-face 'font-lock-warning-face 'c-nonbreakable-space-face)) ''c-nonbreakable-space-face))) c-get-lang-constant c-matchers-1 nil c++-mode] 4) (#$ . 51057)) #@293 Fast normal font locking for C++ mode. In addition to `c++-font-lock-keywords-1', this adds fontification of keywords, simple types, declarations that are easy to recognize, the user defined types on `c++-font-lock-extra-types', and the doc comment styles specified by `c-doc-comment-style'. (defconst c++-font-lock-keywords-2 (byte-code "\301=\203\302\207\303\304\305\306#\207" [c-version-sym 5\.32\.4 (("\\(\\=\\|\\(\\=\\|[^\\]\\)[\n ]\\)\\s *#\\s *\\(\\(?:\\(?:error\\|warning\\)\\>\\)\\)\\s +\\(.*\\)$" 4 font-lock-string-face t) ("\\(\\=\\|\\(\\=\\|[^\\]\\)[\n ]\\)\\s *#\\s *\\(?:include\\)\\(\\s \\|[\n ]\\)*\\(\\(//[^\n ]*[\n ]\\|/\\*[^*\n ]*\\(\\*+[^*\n /][^*\n ]*\\)*\\*+/\\|\\\\[\n ]\\|\\s!\\S!*\\s!\\)\\(\\s \\|[\n ]\\)*\\)*\\(<[^>\n ]*>?\\)" (8 font-lock-string-face) (#[(limit) "\304\224\304\225Sf\305=\203+ \211\306 \211T\307\310$\210*\211\306 \211T\307\311$\210*\2025 \312\n\211T\313#\210)*\314\207" [end beg pos -pos- 8 62 put-text-property category c-<-as-paren-syntax c->-as-paren-syntax remove-text-properties (category nil) nil] 6])) (#[#1=(limit) "\304\300!\305\306 \307#\203m\310\224b\210\311 !\204\310\225b\210\312 \313\216\314\224\203`\214\315\316\224\316\225\317\320$\210\314\225b\210e }\210\321 \210\322 !\203\\\315\310\224\310\225\317\323$\210\310\225b\210\321 \210\324f\325=\203\\\324u\210\2026)\202i\315\316\224\316\225\317\323$\210*\202)\324\207" [parse-sexp-lookup-properties limit save-match-data-internal c-symbol-key boundp re-search-forward "\\(\\=\\|\\(\\=\\|[^\\]\\)[\n ]\\)\\s *#\\s *define\\(\\(\\s \\|[\n ]\\)\\|//[^\n ]*[\n ]\\|/\\*[^*\n ]*\\(\\*+[^*\n /][^*\n ]*\\)*\\*+/\\|\\\\[\n ]\\|\\s!\\S!*\\s!\\)+\\([[:alpha:]_][[:alnum:]_$]*\\)\\(\\((\\)\\|\\([^(]\\|$\\)\\)" t 0 c-skip-comments-and-strings match-data ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) 8 put-text-property 6 face font-lock-function-name-face c-forward-sws looking-at font-lock-variable-name-face nil 44] 5]) (#[(limit) "\305\300! \306=\203:\212\307 \210`)\310\311\n\312#\2039\313\224b\210\314\n!\204\313\225b\210\315 \316\216\317\320\224\320\225\321\f$\210*\202)\310\322\n\312#\203t\313\224b\210\314\n!\204:\313\225b\210\323\225b\210\315 \324\216\313\225\310\311\n\325#\203p\317\320\224\320\225\321\f$\210\202\\+\202:)\326\207" [parse-sexp-lookup-properties c-font-lock-context limit save-match-data-internal c-preprocessor-face-name boundp in-cpp-expr c-end-of-macro re-search-forward "\\(\\(?:defined\\)\\)\\([^[:alnum:]_$]\\|$\\)" t 0 c-skip-comments-and-strings match-data ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) put-text-property 1 face "\\(\\=\\|\\(\\=\\|[^\\]\\)[\n ]\\)\\s *#\\s *\\(\\(?:\\(?:el\\)?if\\)\\)\\([^[:alnum:]_$]\\|$\\)\\(\\\\\\(.\\|[\n ]\\)\\|[^\n ]\\)*" 3 ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) move nil] 5]) (#[#1# "\304\300!\305\306 \307#\203,\310\224b\210\311 !\204\310\225b\210\312 \313\216\314\315\224\315\225\316 $\210*\202)\317\207" [parse-sexp-lookup-properties limit save-match-data-internal c-preprocessor-face-name boundp re-search-forward "\\(\\=\\|\\(\\=\\|[^\\]\\)[\n ]\\)\\(\\s *#\\s *[[:alnum:]_$]+\\)" t 0 c-skip-comments-and-strings match-data ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) put-text-property 3 face nil] 5]) (eval list #[(limit) "\302\303\304 \305#\211\203\306\224b\210\307 !\204\306\225b\210)\207" [res limit nil re-search-forward "\\(\\=\\|\\(\\=\\|[^\\]\\)[\n ]\\)\\s *#\\s *if\\(n\\)def\\>" t 0 c-skip-comments-and-strings] 4] 3 c-negation-char-face-name 'append) (eval list "\240" 0 (progn (unless (c-face-name-p 'c-nonbreakable-space-face) (c-make-inverse-face 'font-lock-warning-face 'c-nonbreakable-space-face)) ''c-nonbreakable-space-face)) #[#1# "\303\300!\304\305 \306#\203&\307\224b\210\310 !\204\307\225b\210\311 \312\216\313 \210*\202)\314\207" [parse-sexp-lookup-properties limit save-match-data-internal boundp re-search-forward ".\\(\\s\"\\|\\s|\\)" t 0 c-skip-comments-and-strings match-data ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) c-font-lock-invalid-string nil] 4] (eval list "\\<\\(\\(?:NULL\\|\\(?:fals\\|tru\\)e\\)\\)\\>" 1 c-constant-face-name) ("\\<\\(\\(?:__\\(?:a\\(?:\\(?:sm\\|ttribute\\)__\\)\\|declspec\\)\\|a\\(?:nd\\(?:_eq\\)?\\|sm\\|uto\\)\\|b\\(?:it\\(?:and\\|or\\)\\|reak\\)\\|c\\(?:a\\(?:se\\|tch\\)\\|lass\\|o\\(?:mpl\\|n\\(?:st\\(?:_cast\\)?\\|tinue\\)\\)\\)\\|d\\(?:e\\(?:fault\\|lete\\)\\|o\\|ynamic_cast\\)\\|e\\(?:lse\\|num\\|x\\(?:plicit\\|tern\\)\\)\\|f\\(?:or\\|riend\\)\\|goto\\|i\\(?:f\\|nline\\)\\|mutable\\|n\\(?:amespace\\|ew\\|ot\\(?:_eq\\)?\\)\\|o\\(?:perator\\|r\\(?:_eq\\)?\\)\\|p\\(?:r\\(?:ivate\\|otected\\)\\|ublic\\)\\|re\\(?:gister\\|interpret_cast\\|turn\\)\\|s\\(?:izeof\\|t\\(?:atic\\(?:_cast\\)?\\|ruct\\)\\|witch\\)\\|t\\(?:emplate\\|h\\(?:is\\|row\\)\\|ry\\|ype\\(?:def\\|id\\|name\\)\\)\\|u\\(?:nion\\|sing\\)\\|v\\(?:irtual\\|olatile\\)\\|while\\|xor\\(?:_eq\\)?\\)\\)\\([^[:alnum:]_$]\\|$\\)" 1 font-lock-keyword-face) (#[(limit) "\302\303\304#\205*\305\224b\210\306!\204\307\310\224\311\"\204#\312\310\224\310\225\311 $\210\313\225b\210\202\207" [limit c-reference-face-name re-search-forward "\\(\\<\\([[:alpha:]_][[:alnum:]_$]*\\)\\(\\s \\|[\n ]\\)*\\(\\(?:::\\)\\)\\(\\s \\|[\n ]\\)*\\)\\([[:alpha:]_]\\|\\([*~]\\)\\)" t 0 c-skip-comments-and-strings get-text-property 2 face put-text-property 1] 5]) (eval list "\\(!\\)[^=]" 1 c-negation-char-face-name) (eval list #[#1# "\304\300!\305 \n\306#\203I\307\224b\210\310\n!\204\307\225b\210\311 \312\216\313\314\224\314\225\315\316$\210*\311 \317\216\314\225b\210\320 \210*\311 \321\216\322\n\306\323#\210*\314\225b\210\202)\323\207" [parse-sexp-lookup-properties c-known-type-key limit save-match-data-internal boundp re-search-forward t 0 c-skip-comments-and-strings match-data ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) put-text-property 1 face font-lock-type-face ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) c-forward-sws ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) c-font-lock-declarators nil] 5]) (#[#1# "\303\300!\304\305 \306#\203I\307\224b\210\310 !\204\307\225b\210\311 \312\216\313\314\224\314\225\315\316$\210*\311 \317\216\314\225b\210\320 \210*\311 \321\216\322 \306\323#\210*\314\225b\210\202)\323\207" [parse-sexp-lookup-properties limit save-match-data-internal boundp re-search-forward "\\<\\(\\(?:class\\|enum\\|struct\\|typename\\|union\\)\\)\\(\\s \\|[\n ]\\)+\\([[:alpha:]_][[:alnum:]_$]*\\)" t 0 c-skip-comments-and-strings match-data ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) put-text-property 3 face font-lock-type-face ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) c-forward-sws ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) c-font-lock-declarators nil] 5]) (#[#1# "\303\300!\304\305 \306#\203:\307\224b\210\310 !\204\307\225b\210\311 \312\216\313\225b\210\314 \210*\311 \315\216\316 \306\317#\210*\313\225b\210\202)\317\207" [parse-sexp-lookup-properties limit save-match-data-internal boundp re-search-forward "\\<\\(\\(?:class\\|enum\\|struct\\|union\\)\\)\\>" t 0 c-skip-comments-and-strings match-data ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) 1 c-forward-sws ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) c-font-lock-declarators nil] 4]) c-font-lock-labels c-font-lock-enum-tail (#[#1# "\304\300!\305\306 \307#\203F\310\224b\210\311 !\204\310\225b\210\312 \313\216\310\225b\210`S\314 \211T\315\316$\210)\317 \210*\312 \320\216\321 \307\322#\210*\310\225b\210\202)\322\207" [parse-sexp-lookup-properties limit save-match-data-internal -pos- boundp re-search-forward "\\<\\(\\(?:enum\\)\\)\\>[^][{}();,/#=]*{" t 0 c-skip-comments-and-strings match-data ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) put-text-property c-type c-decl-id-start c-forward-sws ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) c-font-lock-declarators nil] 5]) (eval list "\\<\\(\\(?:goto\\)\\)\\>\\s *\\([[:alpha:]_][[:alnum:]_$]*\\)" (list 2 c-label-face-name nil t)) (#[(limit) "\306\301!\307\310!`\311!@\312=\203`\202\n)b\210\313\314 \315#\203R\316\224b\210\317 !\204\316\225b\210\320 \321\216\315\322\315\323\324!\210` V\203K b\210\325 \210-\202*\322\207" [BOD-limit parse-sexp-lookup-properties here limit save-match-data-internal c-promote-possible-types boundp c-determine-limit 1000 c-beginning-of-decl-1 same re-search-forward "\\<\\(\\(?:class\\|namespace\\|operator\\|struct\\)\\)\\>" t 0 c-skip-comments-and-strings match-data ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) nil c-forward-keyword-clause 1 c-fontify-recorded-types-and-refs c-record-ref-identifiers c-record-type-identifiers] 4]) (#[#1# "\306\300!\307\310 \311#\2039\312\224b\210\313 !\204\312\225b\210\314 \315\216\311\316\311\317\320!\210` V\2032 b\210\321 \210-\202)\316\207" [parse-sexp-lookup-properties limit save-match-data-internal c-promote-possible-types c-record-ref-identifiers c-record-type-identifiers boundp re-search-forward "\\<\\(\\(?:throw\\)\\)\\>" t 0 c-skip-comments-and-strings match-data ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) nil c-forward-keyword-clause 1 c-fontify-recorded-types-and-refs] 4])) c-get-lang-constant c-matchers-2 nil c++-mode] 4) (#$ . 54829)) #@219 Accurate normal font locking for C++ mode. Like `c++-font-lock-keywords-2' but detects declarations in a more accurate way that works in most cases for arbitrary types without the need for `c++-font-lock-extra-types'. (defconst c++-font-lock-keywords-3 (byte-code "\301=\203\302\207\303\304\305\306#\207" [c-version-sym 5\.32\.4 (("\\(\\=\\|\\(\\=\\|[^\\]\\)[\n ]\\)\\s *#\\s *\\(\\(?:\\(?:error\\|warning\\)\\>\\)\\)\\s +\\(.*\\)$" 4 font-lock-string-face t) ("\\(\\=\\|\\(\\=\\|[^\\]\\)[\n ]\\)\\s *#\\s *\\(?:include\\)\\(\\s \\|[\n ]\\)*\\(\\(//[^\n ]*[\n ]\\|/\\*[^*\n ]*\\(\\*+[^*\n /][^*\n ]*\\)*\\*+/\\|\\\\[\n ]\\|\\s!\\S!*\\s!\\)\\(\\s \\|[\n ]\\)*\\)*\\(<[^>\n ]*>?\\)" (8 font-lock-string-face) (#[(limit) "\304\224\304\225Sf\305=\203+ \211\306 \211T\307\310$\210*\211\306 \211T\307\311$\210*\2025 \312\n\211T\313#\210)*\314\207" [end beg pos -pos- 8 62 put-text-property category c-<-as-paren-syntax c->-as-paren-syntax remove-text-properties (category nil) nil] 6])) (#[#1=(limit) "\304\300!\305\306 \307#\203m\310\224b\210\311 !\204\310\225b\210\312 \313\216\314\224\203`\214\315\316\224\316\225\317\320$\210\314\225b\210e }\210\321 \210\322 !\203\\\315\310\224\310\225\317\323$\210\310\225b\210\321 \210\324f\325=\203\\\324u\210\2026)\202i\315\316\224\316\225\317\323$\210*\202)\324\207" [parse-sexp-lookup-properties limit save-match-data-internal c-symbol-key boundp re-search-forward "\\(\\=\\|\\(\\=\\|[^\\]\\)[\n ]\\)\\s *#\\s *define\\(\\(\\s \\|[\n ]\\)\\|//[^\n ]*[\n ]\\|/\\*[^*\n ]*\\(\\*+[^*\n /][^*\n ]*\\)*\\*+/\\|\\\\[\n ]\\|\\s!\\S!*\\s!\\)+\\([[:alpha:]_][[:alnum:]_$]*\\)\\(\\((\\)\\|\\([^(]\\|$\\)\\)" t 0 c-skip-comments-and-strings match-data ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) 8 put-text-property 6 face font-lock-function-name-face c-forward-sws looking-at font-lock-variable-name-face nil 44] 5]) (#[(limit) "\305\300! \306=\203:\212\307 \210`)\310\311\n\312#\2039\313\224b\210\314\n!\204\313\225b\210\315 \316\216\317\320\224\320\225\321\f$\210*\202)\310\322\n\312#\203t\313\224b\210\314\n!\204:\313\225b\210\323\225b\210\315 \324\216\313\225\310\311\n\325#\203p\317\320\224\320\225\321\f$\210\202\\+\202:)\326\207" [parse-sexp-lookup-properties c-font-lock-context limit save-match-data-internal c-preprocessor-face-name boundp in-cpp-expr c-end-of-macro re-search-forward "\\(\\(?:defined\\)\\)\\([^[:alnum:]_$]\\|$\\)" t 0 c-skip-comments-and-strings match-data ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) put-text-property 1 face "\\(\\=\\|\\(\\=\\|[^\\]\\)[\n ]\\)\\s *#\\s *\\(\\(?:\\(?:el\\)?if\\)\\)\\([^[:alnum:]_$]\\|$\\)\\(\\\\\\(.\\|[\n ]\\)\\|[^\n ]\\)*" 3 ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) move nil] 5]) (#[#1# "\304\300!\305\306 \307#\203,\310\224b\210\311 !\204\310\225b\210\312 \313\216\314\315\224\315\225\316 $\210*\202)\317\207" [parse-sexp-lookup-properties limit save-match-data-internal c-preprocessor-face-name boundp re-search-forward "\\(\\=\\|\\(\\=\\|[^\\]\\)[\n ]\\)\\(\\s *#\\s *[[:alnum:]_$]+\\)" t 0 c-skip-comments-and-strings match-data ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) put-text-property 3 face nil] 5]) (eval list #[(limit) "\302\303\304 \305#\211\203\306\224b\210\307 !\204\306\225b\210)\207" [res limit nil re-search-forward "\\(\\=\\|\\(\\=\\|[^\\]\\)[\n ]\\)\\s *#\\s *if\\(n\\)def\\>" t 0 c-skip-comments-and-strings] 4] 3 c-negation-char-face-name 'append) (eval list "\240" 0 (progn (unless (c-face-name-p 'c-nonbreakable-space-face) (c-make-inverse-face 'font-lock-warning-face 'c-nonbreakable-space-face)) ''c-nonbreakable-space-face)) #[#1# "\303\300!\304\305 \306#\203&\307\224b\210\310 !\204\307\225b\210\311 \312\216\313 \210*\202)\314\207" [parse-sexp-lookup-properties limit save-match-data-internal boundp re-search-forward ".\\(\\s\"\\|\\s|\\)" t 0 c-skip-comments-and-strings match-data ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) c-font-lock-invalid-string nil] 4] (eval list "\\<\\(\\(?:NULL\\|\\(?:fals\\|tru\\)e\\)\\)\\>" 1 c-constant-face-name) ("\\<\\(\\(?:__\\(?:a\\(?:\\(?:sm\\|ttribute\\)__\\)\\|declspec\\)\\|a\\(?:nd\\(?:_eq\\)?\\|sm\\|uto\\)\\|b\\(?:it\\(?:and\\|or\\)\\|reak\\)\\|c\\(?:a\\(?:se\\|tch\\)\\|lass\\|o\\(?:mpl\\|n\\(?:st\\(?:_cast\\)?\\|tinue\\)\\)\\)\\|d\\(?:e\\(?:fault\\|lete\\)\\|o\\|ynamic_cast\\)\\|e\\(?:lse\\|num\\|x\\(?:plicit\\|tern\\)\\)\\|f\\(?:or\\|riend\\)\\|goto\\|i\\(?:f\\|nline\\)\\|mutable\\|n\\(?:amespace\\|ew\\|ot\\(?:_eq\\)?\\)\\|o\\(?:perator\\|r\\(?:_eq\\)?\\)\\|p\\(?:r\\(?:ivate\\|otected\\)\\|ublic\\)\\|re\\(?:gister\\|interpret_cast\\|turn\\)\\|s\\(?:izeof\\|t\\(?:atic\\(?:_cast\\)?\\|ruct\\)\\|witch\\)\\|t\\(?:emplate\\|h\\(?:is\\|row\\)\\|ry\\|ype\\(?:def\\|id\\|name\\)\\)\\|u\\(?:nion\\|sing\\)\\|v\\(?:irtual\\|olatile\\)\\|while\\|xor\\(?:_eq\\)?\\)\\)\\([^[:alnum:]_$]\\|$\\)" 1 font-lock-keyword-face) (#[(limit) "\302\303\304#\205*\305\224b\210\306!\204\307\310\224\311\"\204#\312\310\224\310\225\311 $\210\313\225b\210\202\207" [limit c-reference-face-name re-search-forward "\\(\\<\\([[:alpha:]_][[:alnum:]_$]*\\)\\(\\s \\|[\n ]\\)*\\(\\(?:::\\)\\)\\(\\s \\|[\n ]\\)*\\)\\([[:alpha:]_]\\|\\([*~]\\)\\)" t 0 c-skip-comments-and-strings get-text-property 2 face put-text-property 1] 5]) (eval list "\\(!\\)[^=]" 1 c-negation-char-face-name) c-font-lock-complex-decl-prepare c-font-lock-declarations c-font-lock-enclosing-decls c-font-lock-<>-arglists ("\\<\\(\\(?:bool\\|char\\|double\\|float\\|int\\|long\\|s\\(?:hort\\|igned\\)\\|unsigned\\|void\\|wchar_t\\)\\)\\>" 1 'font-lock-type-face) (#[(limit) "\306\307\306\310\300!\214`\f}\210\311\312\f\306#\205O\313\f!\204\314 \210\315 !\2043\316=\2037\315\317!\2037\320\321!\210\322 \203\307f\323=\203\307u\210\314 \210\322 \210\202)\324 \210,\207" [parse-sexp-lookup-properties c-promote-possible-types c-record-ref-identifiers c-record-type-identifiers limit c-prefix-spec-kwds-re t nil boundp re-search-forward "\\<\\(\\(?:class\\|enum\\|struct\\|typename\\|union\\)\\)\\>" c-skip-comments-and-strings c-forward-sws looking-at java-mode "@[A-Za-z0-9]+" c-forward-keyword-clause 1 c-forward-type 61 c-fontify-recorded-types-and-refs c-buffer-is-cc-mode] 5]) ("\\<new\\>" (c-font-lock-c++-new)) c-font-lock-enum-tail (#[#1# "\304\300!\305\306 \307#\203F\310\224b\210\311 !\204\310\225b\210\312 \313\216\310\225b\210`S\314 \211T\315\316$\210)\317 \210*\312 \320\216\321 \307\322#\210*\310\225b\210\202)\322\207" [parse-sexp-lookup-properties limit save-match-data-internal -pos- boundp re-search-forward "\\<\\(\\(?:enum\\)\\)\\>[^][{}();,/#=]*{" t 0 c-skip-comments-and-strings match-data ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) put-text-property c-type c-decl-id-start c-forward-sws ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) c-font-lock-declarators nil] 5]) (eval list "\\<\\(\\(?:goto\\)\\)\\>\\s *\\([[:alpha:]_][[:alnum:]_$]*\\)" (list 2 c-label-face-name nil t)) (#[(limit) "\306\301!\307\310!`\311!@\312=\203`\202\n)b\210\313\314 \315#\203R\316\224b\210\317 !\204\316\225b\210\320 \321\216\315\322\315\323\324!\210` V\203K b\210\325 \210-\202*\322\207" [BOD-limit parse-sexp-lookup-properties here limit save-match-data-internal c-promote-possible-types boundp c-determine-limit 1000 c-beginning-of-decl-1 same re-search-forward "\\<\\(\\(?:class\\|namespace\\|operator\\|struct\\)\\)\\>" t 0 c-skip-comments-and-strings match-data ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) nil c-forward-keyword-clause 1 c-fontify-recorded-types-and-refs c-record-ref-identifiers c-record-type-identifiers] 4]) (#[#1# "\306\300!\307\310 \311#\2039\312\224b\210\313 !\204\312\225b\210\314 \315\216\311\316\311\317\320!\210` V\2032 b\210\321 \210-\202)\316\207" [parse-sexp-lookup-properties limit save-match-data-internal c-promote-possible-types c-record-ref-identifiers c-record-type-identifiers boundp re-search-forward "\\<\\(\\(?:throw\\)\\)\\>" t 0 c-skip-comments-and-strings match-data ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) nil c-forward-keyword-clause 1 c-fontify-recorded-types-and-refs] 4])) c-get-lang-constant c-matchers-3 nil c++-mode] 4) (#$ . 64646)) #@47 Default expressions to highlight in C++ mode. (defvar c++-font-lock-keywords c++-font-lock-keywords-3 (#$ . 73167)) (defalias 'c++-font-lock-keywords-2 #[nil "\301!\207" [c++-font-lock-keywords-2 c-compose-keywords-list] 2]) (defalias 'c++-font-lock-keywords-3 #[nil "\301!\207" [c++-font-lock-keywords-3 c-compose-keywords-list] 2]) (defalias 'c++-font-lock-keywords #[nil "\301!\207" [c++-font-lock-keywords c-compose-keywords-list] 2]) (defalias 'c-font-lock-objc-method #[nil "\305\306\305\211\307 \210\306f\310=\203%\306u\210\307 \210\311 \210\306\312\313\217\307 \210\202&\305\205j\314\f!\205j\315\225b\210\316\315\224`\317 \203@\320\202A\321$\210\307 \210\314\f!\203[\315\225b\210\316\315\224`\317\320$\210\307 \210\306f\322=\205j\306u\210\306\202\323 \210,\207" [c-promote-possible-types first c-record-ref-identifiers c-record-type-identifiers c-symbol-key t nil c-forward-sws 40 c-forward-type (byte-code "\300`\301\211#b\210\302\207" [scan-lists 1 t] 4) ((error)) looking-at 0 put-text-property face font-lock-function-name-face font-lock-variable-name-face 58 c-fontify-recorded-types-and-refs] 5]) (defalias 'c-font-lock-objc-methods #[(limit) "\302\303 \304\305\306$\210)\305\207" [parse-sexp-lookup-properties limit t c-find-decl-spots "[-+]" nil #[(match-pos inside-macro) "\300u\210\301 \207" [nil c-font-lock-objc-method] 1]] 5]) (c-override-default-keywords 'objc-font-lock-keywords) #@149 Minimal font locking for Objective-C mode. Fontifies only compiler directives (in addition to the syntactic fontification of strings and comments). (defconst objc-font-lock-keywords-1 (byte-code "\301=\203\302\207\303\304\305\306#\207" [c-version-sym 5\.32\.4 (("\\(\\=\\|\\(\\=\\|[^\\]\\)[\n ]\\)\\s *#\\s *\\(\\(?:\\(?:error\\|warning\\)\\>\\)\\)\\s +\\(.*\\)$" 4 font-lock-string-face t) ("\\(\\=\\|\\(\\=\\|[^\\]\\)[\n ]\\)\\s *#\\s *\\(?:i\\(?:mport\\|nclude\\)\\)\\(\\s \\|[\n ]\\)*\\(\\(//[^\n ]*[\n ]\\|/\\*[^*\n ]*\\(\\*+[^*\n /][^*\n ]*\\)*\\*+/\\|\\\\[\n ]\\|\\s!\\S!*\\s!\\)\\(\\s \\|[\n ]\\)*\\)*\\(<[^>\n ]*>?\\)" (8 font-lock-string-face) (#[(limit) "\304\224\304\225Sf\305=\203+ \211\306 \211T\307\310$\210*\211\306 \211T\307\311$\210*\2025 \312\n\211T\313#\210)*\314\207" [end beg pos -pos- 8 62 put-text-property category c-<-as-paren-syntax c->-as-paren-syntax remove-text-properties (category nil) nil] 6])) (#[#1=(limit) "\304\300!\305\306 \307#\203m\310\224b\210\311 !\204\310\225b\210\312 \313\216\314\224\203`\214\315\316\224\316\225\317\320$\210\314\225b\210e }\210\321 \210\322 !\203\\\315\310\224\310\225\317\323$\210\310\225b\210\321 \210\324f\325=\203\\\324u\210\2026)\202i\315\316\224\316\225\317\323$\210*\202)\324\207" [parse-sexp-lookup-properties limit save-match-data-internal c-symbol-key boundp re-search-forward "\\(\\=\\|\\(\\=\\|[^\\]\\)[\n ]\\)\\s *#\\s *define\\(\\(\\s \\|[\n ]\\)\\|//[^\n ]*[\n ]\\|/\\*[^*\n ]*\\(\\*+[^*\n /][^*\n ]*\\)*\\*+/\\|\\\\[\n ]\\|\\s!\\S!*\\s!\\)+\\([[:alpha:]_@][[:alnum:]_$@]*\\)\\(\\((\\)\\|\\([^(]\\|$\\)\\)" t 0 c-skip-comments-and-strings match-data ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) 8 put-text-property 6 face font-lock-function-name-face c-forward-sws looking-at font-lock-variable-name-face nil 44] 5]) (#[(limit) "\305\300! \306=\203:\212\307 \210`)\310\311\n\312#\2039\313\224b\210\314\n!\204\313\225b\210\315 \316\216\317\320\224\320\225\321\f$\210*\202)\310\322\n\312#\203t\313\224b\210\314\n!\204:\313\225b\210\323\225b\210\315 \324\216\313\225\310\311\n\325#\203p\317\320\224\320\225\321\f$\210\202\\+\202:)\326\207" [parse-sexp-lookup-properties c-font-lock-context limit save-match-data-internal c-preprocessor-face-name boundp in-cpp-expr c-end-of-macro re-search-forward "\\(\\(?:defined\\)\\)\\([^[:alnum:]_$@]\\|$\\)" t 0 c-skip-comments-and-strings match-data ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) put-text-property 1 face "\\(\\=\\|\\(\\=\\|[^\\]\\)[\n ]\\)\\s *#\\s *\\(\\(?:\\(?:el\\)?if\\)\\)\\([^[:alnum:]_$@]\\|$\\)\\(\\\\\\(.\\|[\n ]\\)\\|[^\n ]\\)*" 3 ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) move nil] 5]) (#[#1# "\304\300!\305\306 \307#\203,\310\224b\210\311 !\204\310\225b\210\312 \313\216\314\315\224\315\225\316 $\210*\202)\317\207" [parse-sexp-lookup-properties limit save-match-data-internal c-preprocessor-face-name boundp re-search-forward "\\(\\=\\|\\(\\=\\|[^\\]\\)[\n ]\\)\\(\\s *#\\s *[[:alnum:]_$@]+\\)" t 0 c-skip-comments-and-strings match-data ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) put-text-property 3 face nil] 5]) (eval list #[(limit) "\302\303\304 \305#\211\203\306\224b\210\307 !\204\306\225b\210)\207" [res limit nil re-search-forward "\\(\\=\\|\\(\\=\\|[^\\]\\)[\n ]\\)\\s *#\\s *if\\(n\\)def\\>" t 0 c-skip-comments-and-strings] 4] 3 c-negation-char-face-name 'append) (eval list "\240" 0 (progn (unless (c-face-name-p 'c-nonbreakable-space-face) (c-make-inverse-face 'font-lock-warning-face 'c-nonbreakable-space-face)) ''c-nonbreakable-space-face))) c-get-lang-constant c-matchers-1 nil objc-mode] 4) (#$ . 74596)) #@303 Fast normal font locking for Objective-C mode. In addition to `objc-font-lock-keywords-1', this adds fontification of keywords, simple types, declarations that are easy to recognize, the user defined types on `objc-font-lock-extra-types', and the doc comment styles specified by `c-doc-comment-style'. (defconst objc-font-lock-keywords-2 (byte-code "\301=\203\302\207\303\304\305\306#\207" [c-version-sym 5\.32\.4 (("\\(\\=\\|\\(\\=\\|[^\\]\\)[\n ]\\)\\s *#\\s *\\(\\(?:\\(?:error\\|warning\\)\\>\\)\\)\\s +\\(.*\\)$" 4 font-lock-string-face t) ("\\(\\=\\|\\(\\=\\|[^\\]\\)[\n ]\\)\\s *#\\s *\\(?:i\\(?:mport\\|nclude\\)\\)\\(\\s \\|[\n ]\\)*\\(\\(//[^\n ]*[\n ]\\|/\\*[^*\n ]*\\(\\*+[^*\n /][^*\n ]*\\)*\\*+/\\|\\\\[\n ]\\|\\s!\\S!*\\s!\\)\\(\\s \\|[\n ]\\)*\\)*\\(<[^>\n ]*>?\\)" (8 font-lock-string-face) (#[(limit) "\304\224\304\225Sf\305=\203+ \211\306 \211T\307\310$\210*\211\306 \211T\307\311$\210*\2025 \312\n\211T\313#\210)*\314\207" [end beg pos -pos- 8 62 put-text-property category c-<-as-paren-syntax c->-as-paren-syntax remove-text-properties (category nil) nil] 6])) (#[#1=(limit) "\304\300!\305\306 \307#\203m\310\224b\210\311 !\204\310\225b\210\312 \313\216\314\224\203`\214\315\316\224\316\225\317\320$\210\314\225b\210e }\210\321 \210\322 !\203\\\315\310\224\310\225\317\323$\210\310\225b\210\321 \210\324f\325=\203\\\324u\210\2026)\202i\315\316\224\316\225\317\323$\210*\202)\324\207" [parse-sexp-lookup-properties limit save-match-data-internal c-symbol-key boundp re-search-forward "\\(\\=\\|\\(\\=\\|[^\\]\\)[\n ]\\)\\s *#\\s *define\\(\\(\\s \\|[\n ]\\)\\|//[^\n ]*[\n ]\\|/\\*[^*\n ]*\\(\\*+[^*\n /][^*\n ]*\\)*\\*+/\\|\\\\[\n ]\\|\\s!\\S!*\\s!\\)+\\([[:alpha:]_@][[:alnum:]_$@]*\\)\\(\\((\\)\\|\\([^(]\\|$\\)\\)" t 0 c-skip-comments-and-strings match-data ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) 8 put-text-property 6 face font-lock-function-name-face c-forward-sws looking-at font-lock-variable-name-face nil 44] 5]) (#[(limit) "\305\300! \306=\203:\212\307 \210`)\310\311\n\312#\2039\313\224b\210\314\n!\204\313\225b\210\315 \316\216\317\320\224\320\225\321\f$\210*\202)\310\322\n\312#\203t\313\224b\210\314\n!\204:\313\225b\210\323\225b\210\315 \324\216\313\225\310\311\n\325#\203p\317\320\224\320\225\321\f$\210\202\\+\202:)\326\207" [parse-sexp-lookup-properties c-font-lock-context limit save-match-data-internal c-preprocessor-face-name boundp in-cpp-expr c-end-of-macro re-search-forward "\\(\\(?:defined\\)\\)\\([^[:alnum:]_$@]\\|$\\)" t 0 c-skip-comments-and-strings match-data ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) put-text-property 1 face "\\(\\=\\|\\(\\=\\|[^\\]\\)[\n ]\\)\\s *#\\s *\\(\\(?:\\(?:el\\)?if\\)\\)\\([^[:alnum:]_$@]\\|$\\)\\(\\\\\\(.\\|[\n ]\\)\\|[^\n ]\\)*" 3 ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) move nil] 5]) (#[#1# "\304\300!\305\306 \307#\203,\310\224b\210\311 !\204\310\225b\210\312 \313\216\314\315\224\315\225\316 $\210*\202)\317\207" [parse-sexp-lookup-properties limit save-match-data-internal c-preprocessor-face-name boundp re-search-forward "\\(\\=\\|\\(\\=\\|[^\\]\\)[\n ]\\)\\(\\s *#\\s *[[:alnum:]_$@]+\\)" t 0 c-skip-comments-and-strings match-data ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) put-text-property 3 face nil] 5]) (eval list #[(limit) "\302\303\304 \305#\211\203\306\224b\210\307 !\204\306\225b\210)\207" [res limit nil re-search-forward "\\(\\=\\|\\(\\=\\|[^\\]\\)[\n ]\\)\\s *#\\s *if\\(n\\)def\\>" t 0 c-skip-comments-and-strings] 4] 3 c-negation-char-face-name 'append) (eval list "\240" 0 (progn (unless (c-face-name-p 'c-nonbreakable-space-face) (c-make-inverse-face 'font-lock-warning-face 'c-nonbreakable-space-face)) ''c-nonbreakable-space-face)) #[#1# "\303\300!\304\305 \306#\203&\307\224b\210\310 !\204\307\225b\210\311 \312\216\313 \210*\202)\314\207" [parse-sexp-lookup-properties limit save-match-data-internal boundp re-search-forward ".\\(\\s\"\\|\\s|\\)" t 0 c-skip-comments-and-strings match-data ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) c-font-lock-invalid-string nil] 4] (eval list "\\<\\(\\(?:N\\(?:O\\|S_\\(?:DURING\\|\\(?:END\\)?HANDLER\\)\\|il\\)\\|YES\\|nil\\)\\)\\>" 1 c-constant-face-name) ("\\<\\(\\(?:@\\(?:c\\(?:atch\\|lass\\)\\|defs\\|en\\(?:code\\|d\\)\\|finally\\|i\\(?:mplementation\\|nterface\\)\\|p\\(?:r\\(?:ivate\\|ot\\(?:ected\\|ocol\\)\\)\\|ublic\\)\\|s\\(?:elector\\|ynchronized\\)\\|t\\(?:hrow\\|ry\\)\\)\\|auto\\|b\\(?:reak\\|y\\(?:copy\\|ref\\)\\)\\|c\\(?:ase\\|on\\(?:st\\|tinue\\)\\)\\|d\\(?:efault\\|o\\)\\|e\\(?:lse\\|num\\|xtern\\)\\|for\\|goto\\|i\\(?:nout\\|[fn]\\)\\|o\\(?:neway\\|ut\\)\\|return\\|s\\(?:elf\\|t\\(?:atic\\|ruct\\)\\|uper\\|witch\\)\\|typedef\\|union\\|\\(?:volat\\|wh\\)ile\\)\\)\\([^[:alnum:]_$@]\\|$\\)" 1 font-lock-keyword-face) #[#1# "\306\300!\307\310 \311#\203T\312\224b\210\313 !\204\312\225b\210\314 \315\216\311\316\214e \206*d}\210\317 \210)`\320 \321=\203C b\210\311\320 \210))` V\203M b\210\322 \210,\202)\316\207" [parse-sexp-lookup-properties limit save-match-data-internal c-record-ref-identifiers c-record-type-identifiers start boundp re-search-forward "\\[" t 0 c-skip-comments-and-strings match-data ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) nil c-forward-sws c-forward-type known c-fontify-recorded-types-and-refs c-promote-possible-types] 4] #[#1# "\305\300!\306\307 \310#\2035\311\224b\210\312 !\204\311\225b\210\311\224b\210\313 \314\216\310\315\305\300!\316 \210\317 \210-\202)\315\207" [parse-sexp-lookup-properties limit save-match-data-internal c-record-ref-identifiers c-record-type-identifiers boundp re-search-forward "\\<\\(@\\(?:i\\(?:mplementation\\|nterface\\)\\|protocol\\)\\)\\>" t 0 c-skip-comments-and-strings match-data ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) nil c-forward-objc-directive c-fontify-recorded-types-and-refs] 4] (eval list "\\(!\\)[^=]" 1 c-negation-char-face-name) ("^\\s *\\([+-]\\)\\(\\s \\|[\n ]\\)*\\(([^)]*)\\(\\s \\|[\n ]\\)*\\)?\\([[:alpha:]_@][[:alnum:]_$@]*\\)" (#[(limit) "\302\303!\214e }\210\304 \210*\305\207" [parse-sexp-lookup-properties limit eval (let ((c-inside-eval-when-compile t)) (boundp 'parse-sexp-lookup-properties)) c-font-lock-objc-method nil] 2] (goto-char (match-end 1)))) (eval list #[#1# "\304\300!\305 \n\306#\203I\307\224b\210\310\n!\204\307\225b\210\311 \312\216\313\314\224\314\225\315\316$\210*\311 \317\216\314\225b\210\320 \210*\311 \321\216\322\n\306\323#\210*\314\225b\210\202)\323\207" [parse-sexp-lookup-properties c-known-type-key limit save-match-data-internal boundp re-search-forward t 0 c-skip-comments-and-strings match-data ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) put-text-property 1 face font-lock-type-face ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) c-forward-sws ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) c-font-lock-declarators nil] 5]) (#[#1# "\303\300!\304\305 \306#\203:\307\224b\210\310 !\204\307\225b\210\311 \312\216\313\225b\210\314 \210*\311 \315\216\316 \306\317#\210*\313\225b\210\202)\317\207" [parse-sexp-lookup-properties limit save-match-data-internal boundp re-search-forward "\\<\\(\\(?:@\\(?:i\\(?:mplementation\\|nterface\\)\\|protocol\\)\\|enum\\|struct\\|union\\)\\)\\>" t 0 c-skip-comments-and-strings match-data ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) 1 c-forward-sws ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) c-font-lock-declarators nil] 4]) c-font-lock-labels c-font-lock-enum-tail (#[#1# "\304\300!\305\306 \307#\203F\310\224b\210\311 !\204\310\225b\210\312 \313\216\310\225b\210`S\314 \211T\315\316$\210)\317 \210*\312 \320\216\321 \307\322#\210*\310\225b\210\202)\322\207" [parse-sexp-lookup-properties limit save-match-data-internal -pos- boundp re-search-forward "\\<\\(\\(?:enum\\)\\)\\>[^][{}();,/#=]*{" t 0 c-skip-comments-and-strings match-data ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) put-text-property c-type c-decl-id-start c-forward-sws ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) c-font-lock-declarators nil] 5]) (eval list "\\<\\(\\(?:goto\\)\\)\\>\\s *\\([[:alpha:]_@][[:alnum:]_$@]*\\)" (list 2 c-label-face-name nil t)) (#[(limit) "\306\301!\307\310!`\311!@\312=\203`\202\n)b\210\313\314 \315#\203R\316\224b\210\317 !\204\316\225b\210\320 \321\216\315\322\315\323\324!\210` V\203K b\210\325 \210-\202*\322\207" [BOD-limit parse-sexp-lookup-properties here limit save-match-data-internal c-promote-possible-types boundp c-determine-limit 1000 c-beginning-of-decl-1 same re-search-forward "\\<\\(\\(?:@class\\)\\)\\>" t 0 c-skip-comments-and-strings match-data ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) nil c-forward-keyword-clause 1 c-fontify-recorded-types-and-refs c-record-ref-identifiers c-record-type-identifiers] 4]) (#[#1# "\306\300!\307\310 \311#\2039\312\224b\210\313 !\204\312\225b\210\314 \315\216\311\316\311\317\320!\210` V\2032 b\210\321 \210-\202)\316\207" [parse-sexp-lookup-properties limit save-match-data-internal c-promote-possible-types c-record-ref-identifiers c-record-type-identifiers boundp re-search-forward "\\<\\(\\(?:@defs\\)\\)\\>" t 0 c-skip-comments-and-strings match-data ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) nil c-forward-keyword-clause 1 c-fontify-recorded-types-and-refs] 4])) c-get-lang-constant c-matchers-2 nil objc-mode] 4) (#$ . 78395)) #@229 Accurate normal font locking for Objective-C mode. Like `objc-font-lock-keywords-2' but detects declarations in a more accurate way that works in most cases for arbitrary types without the need for `objc-font-lock-extra-types'. (defconst objc-font-lock-keywords-3 (byte-code "\301=\203\302\207\303\304\305\306#\207" [c-version-sym 5\.32\.4 (("\\(\\=\\|\\(\\=\\|[^\\]\\)[\n ]\\)\\s *#\\s *\\(\\(?:\\(?:error\\|warning\\)\\>\\)\\)\\s +\\(.*\\)$" 4 font-lock-string-face t) ("\\(\\=\\|\\(\\=\\|[^\\]\\)[\n ]\\)\\s *#\\s *\\(?:i\\(?:mport\\|nclude\\)\\)\\(\\s \\|[\n ]\\)*\\(\\(//[^\n ]*[\n ]\\|/\\*[^*\n ]*\\(\\*+[^*\n /][^*\n ]*\\)*\\*+/\\|\\\\[\n ]\\|\\s!\\S!*\\s!\\)\\(\\s \\|[\n ]\\)*\\)*\\(<[^>\n ]*>?\\)" (8 font-lock-string-face) (#[(limit) "\304\224\304\225Sf\305=\203+ \211\306 \211T\307\310$\210*\211\306 \211T\307\311$\210*\2025 \312\n\211T\313#\210)*\314\207" [end beg pos -pos- 8 62 put-text-property category c-<-as-paren-syntax c->-as-paren-syntax remove-text-properties (category nil) nil] 6])) (#[#1=(limit) "\304\300!\305\306 \307#\203m\310\224b\210\311 !\204\310\225b\210\312 \313\216\314\224\203`\214\315\316\224\316\225\317\320$\210\314\225b\210e }\210\321 \210\322 !\203\\\315\310\224\310\225\317\323$\210\310\225b\210\321 \210\324f\325=\203\\\324u\210\2026)\202i\315\316\224\316\225\317\323$\210*\202)\324\207" [parse-sexp-lookup-properties limit save-match-data-internal c-symbol-key boundp re-search-forward "\\(\\=\\|\\(\\=\\|[^\\]\\)[\n ]\\)\\s *#\\s *define\\(\\(\\s \\|[\n ]\\)\\|//[^\n ]*[\n ]\\|/\\*[^*\n ]*\\(\\*+[^*\n /][^*\n ]*\\)*\\*+/\\|\\\\[\n ]\\|\\s!\\S!*\\s!\\)+\\([[:alpha:]_@][[:alnum:]_$@]*\\)\\(\\((\\)\\|\\([^(]\\|$\\)\\)" t 0 c-skip-comments-and-strings match-data ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) 8 put-text-property 6 face font-lock-function-name-face c-forward-sws looking-at font-lock-variable-name-face nil 44] 5]) (#[(limit) "\305\300! \306=\203:\212\307 \210`)\310\311\n\312#\2039\313\224b\210\314\n!\204\313\225b\210\315 \316\216\317\320\224\320\225\321\f$\210*\202)\310\322\n\312#\203t\313\224b\210\314\n!\204:\313\225b\210\323\225b\210\315 \324\216\313\225\310\311\n\325#\203p\317\320\224\320\225\321\f$\210\202\\+\202:)\326\207" [parse-sexp-lookup-properties c-font-lock-context limit save-match-data-internal c-preprocessor-face-name boundp in-cpp-expr c-end-of-macro re-search-forward "\\(\\(?:defined\\)\\)\\([^[:alnum:]_$@]\\|$\\)" t 0 c-skip-comments-and-strings match-data ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) put-text-property 1 face "\\(\\=\\|\\(\\=\\|[^\\]\\)[\n ]\\)\\s *#\\s *\\(\\(?:\\(?:el\\)?if\\)\\)\\([^[:alnum:]_$@]\\|$\\)\\(\\\\\\(.\\|[\n ]\\)\\|[^\n ]\\)*" 3 ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) move nil] 5]) (#[#1# "\304\300!\305\306 \307#\203,\310\224b\210\311 !\204\310\225b\210\312 \313\216\314\315\224\315\225\316 $\210*\202)\317\207" [parse-sexp-lookup-properties limit save-match-data-internal c-preprocessor-face-name boundp re-search-forward "\\(\\=\\|\\(\\=\\|[^\\]\\)[\n ]\\)\\(\\s *#\\s *[[:alnum:]_$@]+\\)" t 0 c-skip-comments-and-strings match-data ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) put-text-property 3 face nil] 5]) (eval list #[(limit) "\302\303\304 \305#\211\203\306\224b\210\307 !\204\306\225b\210)\207" [res limit nil re-search-forward "\\(\\=\\|\\(\\=\\|[^\\]\\)[\n ]\\)\\s *#\\s *if\\(n\\)def\\>" t 0 c-skip-comments-and-strings] 4] 3 c-negation-char-face-name 'append) (eval list "\240" 0 (progn (unless (c-face-name-p 'c-nonbreakable-space-face) (c-make-inverse-face 'font-lock-warning-face 'c-nonbreakable-space-face)) ''c-nonbreakable-space-face)) #[#1# "\303\300!\304\305 \306#\203&\307\224b\210\310 !\204\307\225b\210\311 \312\216\313 \210*\202)\314\207" [parse-sexp-lookup-properties limit save-match-data-internal boundp re-search-forward ".\\(\\s\"\\|\\s|\\)" t 0 c-skip-comments-and-strings match-data ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) c-font-lock-invalid-string nil] 4] (eval list "\\<\\(\\(?:N\\(?:O\\|S_\\(?:DURING\\|\\(?:END\\)?HANDLER\\)\\|il\\)\\|YES\\|nil\\)\\)\\>" 1 c-constant-face-name) ("\\<\\(\\(?:@\\(?:c\\(?:atch\\|lass\\)\\|defs\\|en\\(?:code\\|d\\)\\|finally\\|i\\(?:mplementation\\|nterface\\)\\|p\\(?:r\\(?:ivate\\|ot\\(?:ected\\|ocol\\)\\)\\|ublic\\)\\|s\\(?:elector\\|ynchronized\\)\\|t\\(?:hrow\\|ry\\)\\)\\|auto\\|b\\(?:reak\\|y\\(?:copy\\|ref\\)\\)\\|c\\(?:ase\\|on\\(?:st\\|tinue\\)\\)\\|d\\(?:efault\\|o\\)\\|e\\(?:lse\\|num\\|xtern\\)\\|for\\|goto\\|i\\(?:nout\\|[fn]\\)\\|o\\(?:neway\\|ut\\)\\|return\\|s\\(?:elf\\|t\\(?:atic\\|ruct\\)\\|uper\\|witch\\)\\|typedef\\|union\\|\\(?:volat\\|wh\\)ile\\)\\)\\([^[:alnum:]_$@]\\|$\\)" 1 font-lock-keyword-face) #[#1# "\306\300!\307\310 \311#\203T\312\224b\210\313 !\204\312\225b\210\314 \315\216\311\316\214e \206*d}\210\317 \210)`\320 \321=\203C b\210\311\320 \210))` V\203M b\210\322 \210,\202)\316\207" [parse-sexp-lookup-properties limit save-match-data-internal c-record-ref-identifiers c-record-type-identifiers start boundp re-search-forward "\\[" t 0 c-skip-comments-and-strings match-data ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) nil c-forward-sws c-forward-type known c-fontify-recorded-types-and-refs c-promote-possible-types] 4] #[#1# "\305\300!\306\307 \310#\2035\311\224b\210\312 !\204\311\225b\210\311\224b\210\313 \314\216\310\315\305\300!\316 \210\317 \210-\202)\315\207" [parse-sexp-lookup-properties limit save-match-data-internal c-record-ref-identifiers c-record-type-identifiers boundp re-search-forward "\\<\\(@\\(?:i\\(?:mplementation\\|nterface\\)\\|protocol\\)\\)\\>" t 0 c-skip-comments-and-strings match-data ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) nil c-forward-objc-directive c-fontify-recorded-types-and-refs] 4] (eval list "\\(!\\)[^=]" 1 c-negation-char-face-name) c-font-lock-complex-decl-prepare #[#1# "\304\300!\305\306 \307#\203/\310\224b\210\311 !\204\310\225b\210\312 \313\216\314\225S\315 \211T\316\317$\210+\202)\320\207" [parse-sexp-lookup-properties limit save-match-data-internal -pos- boundp re-search-forward "\\(\\(?:@\\(?:defs\\|end\\|p\\(?:r\\(?:ivate\\|otected\\)\\|ublic\\)\\)\\)\\)\\([^[:alnum:]_$@]\\|$\\)" t 0 c-skip-comments-and-strings match-data ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) 1 put-text-property c-type c-decl-end nil] 5] c-font-lock-objc-methods c-font-lock-declarations c-font-lock-enclosing-decls c-font-lock-<>-arglists ("\\<\\(\\(?:BOOL\\|Class\\|IMP\\|SEL\\|char\\|double\\|float\\|i\\(?:d\\|nt\\)\\|long\\|s\\(?:hort\\|igned\\)\\|\\(?:unsigne\\|voi\\)d\\)\\)\\>" 1 'font-lock-type-face) c-font-lock-enum-tail (#[#1# "\304\300!\305\306 \307#\203F\310\224b\210\311 !\204\310\225b\210\312 \313\216\310\225b\210`S\314 \211T\315\316$\210)\317 \210*\312 \320\216\321 \307\322#\210*\310\225b\210\202)\322\207" [parse-sexp-lookup-properties limit save-match-data-internal -pos- boundp re-search-forward "\\<\\(\\(?:enum\\)\\)\\>[^][{}();,/#=]*{" t 0 c-skip-comments-and-strings match-data ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) put-text-property c-type c-decl-id-start c-forward-sws ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) c-font-lock-declarators nil] 5]) (eval list "\\<\\(\\(?:goto\\)\\)\\>\\s *\\([[:alpha:]_@][[:alnum:]_$@]*\\)" (list 2 c-label-face-name nil t)) (#[(limit) "\306\301!\307\310!`\311!@\312=\203`\202\n)b\210\313\314 \315#\203R\316\224b\210\317 !\204\316\225b\210\320 \321\216\315\322\315\323\324!\210` V\203K b\210\325 \210-\202*\322\207" [BOD-limit parse-sexp-lookup-properties here limit save-match-data-internal c-promote-possible-types boundp c-determine-limit 1000 c-beginning-of-decl-1 same re-search-forward "\\<\\(\\(?:@class\\)\\)\\>" t 0 c-skip-comments-and-strings match-data ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) nil c-forward-keyword-clause 1 c-fontify-recorded-types-and-refs c-record-ref-identifiers c-record-type-identifiers] 4]) (#[#1# "\306\300!\307\310 \311#\2039\312\224b\210\313 !\204\312\225b\210\314 \315\216\311\316\311\317\320!\210` V\2032 b\210\321 \210-\202)\316\207" [parse-sexp-lookup-properties limit save-match-data-internal c-promote-possible-types c-record-ref-identifiers c-record-type-identifiers boundp re-search-forward "\\<\\(\\(?:@defs\\)\\)\\>" t 0 c-skip-comments-and-strings match-data ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) nil c-forward-keyword-clause 1 c-fontify-recorded-types-and-refs] 4])) c-get-lang-constant c-matchers-3 nil objc-mode] 4) (#$ . 88351)) #@55 Default expressions to highlight in Objective-C mode. (defvar objc-font-lock-keywords objc-font-lock-keywords-3 (#$ . 97336)) (defalias 'objc-font-lock-keywords-2 #[nil "\301!\207" [objc-font-lock-keywords-2 c-compose-keywords-list] 2]) (defalias 'objc-font-lock-keywords-3 #[nil "\301!\207" [objc-font-lock-keywords-3 c-compose-keywords-list] 2]) (defalias 'objc-font-lock-keywords #[nil "\301!\207" [objc-font-lock-keywords c-compose-keywords-list] 2]) (byte-code "\301\302\303\"\304\"\305\232\203\306\307\310!\207" [objc-font-lock-extra-types sort append nil string-lessp ("BOOL" "Class" "IMP" "SEL") ("[[:upper:]]\\sw*") c-override-default-keywords java-font-lock-keywords] 4) #@115 Minimal font locking for Java mode. Fontifies nothing except the syntactic fontification of strings and comments. (defconst java-font-lock-keywords-1 (byte-code "\301=\203\302\207\303\304\305\306#\207" [c-version-sym 5\.32\.4 ((eval list "\240" 0 (progn (unless (c-face-name-p 'c-nonbreakable-space-face) (c-make-inverse-face 'font-lock-warning-face 'c-nonbreakable-space-face)) ''c-nonbreakable-space-face))) c-get-lang-constant c-matchers-1 nil java-mode] 4) (#$ . 98031)) #@296 Fast normal font locking for Java mode. In addition to `java-font-lock-keywords-1', this adds fontification of keywords, simple types, declarations that are easy to recognize, the user defined types on `java-font-lock-extra-types', and the doc comment styles specified by `c-doc-comment-style'. (defconst java-font-lock-keywords-2 (byte-code "\301=\203\302\207\303\304\305\306#\207" [c-version-sym 5\.32\.4 ((eval list "\240" 0 (progn (unless (c-face-name-p 'c-nonbreakable-space-face) (c-make-inverse-face 'font-lock-warning-face 'c-nonbreakable-space-face)) ''c-nonbreakable-space-face)) #[#1=(limit) "\303\300!\304\305 \306#\203&\307\224b\210\310 !\204\307\225b\210\311 \312\216\313 \210*\202)\314\207" [parse-sexp-lookup-properties limit save-match-data-internal boundp re-search-forward ".\\(\\s\"\\|\\s|\\)" t 0 c-skip-comments-and-strings match-data ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) c-font-lock-invalid-string nil] 4] (eval list "\\<\\(\\(?:false\\|null\\|true\\)\\)\\>" 1 c-constant-face-name) ("\\<\\(\\(?:@interface\\|abstract\\|break\\|c\\(?:a\\(?:se\\|tch\\)\\|lass\\|on\\(?:st\\|tinue\\)\\)\\|d\\(?:efault\\|o\\)\\|e\\(?:lse\\|num\\|xtends\\)\\|f\\(?:inal\\(?:ly\\)?\\|or\\)\\|goto\\|i\\(?:f\\|mp\\(?:lements\\|ort\\)\\|n\\(?:stanceof\\|terface\\)\\)\\|n\\(?:ative\\|ew\\)\\|p\\(?:ackage\\|r\\(?:ivate\\|otected\\)\\|ublic\\)\\|return\\|s\\(?:t\\(?:atic\\|rictfp\\)\\|uper\\|witch\\|ynchronized\\)\\|t\\(?:h\\(?:is\\|rows?\\)\\|r\\(?:ansient\\|y\\)\\)\\|\\(?:volat\\|wh\\)ile\\)\\)\\([^[:alnum:]_$]\\|$\\)" 1 font-lock-keyword-face) #[#1# "\305\300!\306\307 \310#\203Z\311\224b\210\312 !\204\311\225b\210\313 \314\216\315\311\224Tb\210`Sf\316=\203R\317u\210\320 \210`\321\315x\311W\203R\322`\323\"\204R\324` \323\f$\210\320 \210\202&+\311\225b\210\202)\315\207" [parse-sexp-lookup-properties limit save-match-data-internal id-end c-reference-face-name boundp re-search-forward "\\(\\.\\)\\(\\s \\|[\n ]\\)*\\([[:upper:]][[:alnum:]_$]*\\|\\*\\)" t 0 c-skip-comments-and-strings match-data ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) nil 46 -1 c-backward-sws "[:alnum:]_$" get-text-property face put-text-property] 5] (eval list "\\(!\\)[^=]" 1 c-negation-char-face-name) (eval list #[#1# "\304\300!\305 \n\306#\203I\307\224b\210\310\n!\204\307\225b\210\311 \312\216\313\314\224\314\225\315\316$\210*\311 \317\216\314\225b\210\320 \210*\311 \321\216\322\n\306\323#\210*\314\225b\210\202)\323\207" [parse-sexp-lookup-properties c-known-type-key limit save-match-data-internal boundp re-search-forward t 0 c-skip-comments-and-strings match-data ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) put-text-property 1 face font-lock-type-face ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) c-forward-sws ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) c-font-lock-declarators nil] 5]) (#[#1# "\303\300!\304\305 \306#\203:\307\224b\210\310 !\204\307\225b\210\311 \312\216\313\225b\210\314 \210*\311 \315\216\316 \306\317#\210*\313\225b\210\202)\317\207" [parse-sexp-lookup-properties limit save-match-data-internal boundp re-search-forward "\\<\\(\\(?:@interface\\|class\\|enum\\|interface\\)\\)\\>" t 0 c-skip-comments-and-strings match-data ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) 1 c-forward-sws ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) c-font-lock-declarators nil] 4]) c-font-lock-labels c-font-lock-enum-tail (#[#1# "\304\300!\305\306 \307#\203F\310\224b\210\311 !\204\310\225b\210\312 \313\216\310\225b\210`S\314 \211T\315\316$\210)\317 \210*\312 \320\216\321 \307\322#\210*\310\225b\210\202)\322\207" [parse-sexp-lookup-properties limit save-match-data-internal -pos- boundp re-search-forward "\\<\\(\\(?:enum\\)\\)\\>[^][{}();,/#=]*{" t 0 c-skip-comments-and-strings match-data ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) put-text-property c-type c-decl-id-start c-forward-sws ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) c-font-lock-declarators nil] 5]) (eval list "\\<\\(\\(?:break\\|continue\\|goto\\)\\)\\>\\s *\\([[:alpha:]_@][[:alnum:]_$]*\\)" (list 2 c-label-face-name nil t)) (#[(limit) "\306\301!\307\310!`\311!@\312=\203`\202\n)b\210\313\314 \315#\203R\316\224b\210\317 !\204\316\225b\210\320 \321\216\315\322\315\323\324!\210` V\203K b\210\325 \210-\202*\322\207" [BOD-limit parse-sexp-lookup-properties here limit save-match-data-internal c-promote-possible-types boundp c-determine-limit 1000 c-beginning-of-decl-1 same re-search-forward "\\<\\(\\(?:extends\\|imp\\(?:lements\\|ort\\)\\|new\\|package\\|super\\|throws\\)\\)\\>" t 0 c-skip-comments-and-strings match-data ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) nil c-forward-keyword-clause 1 c-fontify-recorded-types-and-refs c-record-ref-identifiers c-record-type-identifiers] 4]) (eval list "\\<\\(@[a-zA-Z0-9]+\\)\\>" 1 c-annotation-face)) c-get-lang-constant c-matchers-2 nil java-mode] 4) (#$ . 98516)) #@222 Accurate normal font locking for Java mode. Like `java-font-lock-keywords-2' but detects declarations in a more accurate way that works in most cases for arbitrary types without the need for `java-font-lock-extra-types'. (defconst java-font-lock-keywords-3 (byte-code "\301=\203\302\207\303\304\305\306#\207" [c-version-sym 5\.32\.4 ((eval list "\240" 0 (progn (unless (c-face-name-p 'c-nonbreakable-space-face) (c-make-inverse-face 'font-lock-warning-face 'c-nonbreakable-space-face)) ''c-nonbreakable-space-face)) #[#1=(limit) "\303\300!\304\305 \306#\203&\307\224b\210\310 !\204\307\225b\210\311 \312\216\313 \210*\202)\314\207" [parse-sexp-lookup-properties limit save-match-data-internal boundp re-search-forward ".\\(\\s\"\\|\\s|\\)" t 0 c-skip-comments-and-strings match-data ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) c-font-lock-invalid-string nil] 4] (eval list "\\<\\(\\(?:false\\|null\\|true\\)\\)\\>" 1 c-constant-face-name) ("\\<\\(\\(?:@interface\\|abstract\\|break\\|c\\(?:a\\(?:se\\|tch\\)\\|lass\\|on\\(?:st\\|tinue\\)\\)\\|d\\(?:efault\\|o\\)\\|e\\(?:lse\\|num\\|xtends\\)\\|f\\(?:inal\\(?:ly\\)?\\|or\\)\\|goto\\|i\\(?:f\\|mp\\(?:lements\\|ort\\)\\|n\\(?:stanceof\\|terface\\)\\)\\|n\\(?:ative\\|ew\\)\\|p\\(?:ackage\\|r\\(?:ivate\\|otected\\)\\|ublic\\)\\|return\\|s\\(?:t\\(?:atic\\|rictfp\\)\\|uper\\|witch\\|ynchronized\\)\\|t\\(?:h\\(?:is\\|rows?\\)\\|r\\(?:ansient\\|y\\)\\)\\|\\(?:volat\\|wh\\)ile\\)\\)\\([^[:alnum:]_$]\\|$\\)" 1 font-lock-keyword-face) #[#1# "\305\300!\306\307 \310#\203Z\311\224b\210\312 !\204\311\225b\210\313 \314\216\315\311\224Tb\210`Sf\316=\203R\317u\210\320 \210`\321\315x\311W\203R\322`\323\"\204R\324` \323\f$\210\320 \210\202&+\311\225b\210\202)\315\207" [parse-sexp-lookup-properties limit save-match-data-internal id-end c-reference-face-name boundp re-search-forward "\\(\\.\\)\\(\\s \\|[\n ]\\)*\\([[:upper:]][[:alnum:]_$]*\\|\\*\\)" t 0 c-skip-comments-and-strings match-data ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) nil 46 -1 c-backward-sws "[:alnum:]_$" get-text-property face put-text-property] 5] (eval list "\\(!\\)[^=]" 1 c-negation-char-face-name) c-font-lock-complex-decl-prepare c-font-lock-declarations c-font-lock-enclosing-decls ("\\<\\(\\(?:b\\(?:oolean\\|yte\\)\\|char\\|double\\|float\\|int\\|long\\|short\\|void\\)\\)\\>" 1 'font-lock-type-face) c-font-lock-enum-tail (#[#1# "\304\300!\305\306 \307#\203F\310\224b\210\311 !\204\310\225b\210\312 \313\216\310\225b\210`S\314 \211T\315\316$\210)\317 \210*\312 \320\216\321 \307\322#\210*\310\225b\210\202)\322\207" [parse-sexp-lookup-properties limit save-match-data-internal -pos- boundp re-search-forward "\\<\\(\\(?:enum\\)\\)\\>[^][{}();,/#=]*{" t 0 c-skip-comments-and-strings match-data ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) put-text-property c-type c-decl-id-start c-forward-sws ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) c-font-lock-declarators nil] 5]) (eval list "\\<\\(\\(?:break\\|continue\\|goto\\)\\)\\>\\s *\\([[:alpha:]_@][[:alnum:]_$]*\\)" (list 2 c-label-face-name nil t)) (#[(limit) "\306\301!\307\310!`\311!@\312=\203`\202\n)b\210\313\314 \315#\203R\316\224b\210\317 !\204\316\225b\210\320 \321\216\315\322\315\323\324!\210` V\203K b\210\325 \210-\202*\322\207" [BOD-limit parse-sexp-lookup-properties here limit save-match-data-internal c-promote-possible-types boundp c-determine-limit 1000 c-beginning-of-decl-1 same re-search-forward "\\<\\(\\(?:extends\\|imp\\(?:lements\\|ort\\)\\|new\\|package\\|super\\|throws\\)\\)\\>" t 0 c-skip-comments-and-strings match-data ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) nil c-forward-keyword-clause 1 c-fontify-recorded-types-and-refs c-record-ref-identifiers c-record-type-identifiers] 4]) (eval list "\\<\\(@[a-zA-Z0-9]+\\)\\>" 1 c-annotation-face)) c-get-lang-constant c-matchers-3 nil java-mode] 4) (#$ . 103804)) #@48 Default expressions to highlight in Java mode. (defvar java-font-lock-keywords java-font-lock-keywords-3 (#$ . 107890)) (defalias 'java-font-lock-keywords-2 #[nil "\301!\207" [java-font-lock-keywords-2 c-compose-keywords-list] 2]) (defalias 'java-font-lock-keywords-3 #[nil "\301!\207" [java-font-lock-keywords-3 c-compose-keywords-list] 2]) (defalias 'java-font-lock-keywords #[nil "\301!\207" [java-font-lock-keywords c-compose-keywords-list] 2]) (c-override-default-keywords 'idl-font-lock-keywords) #@120 Minimal font locking for CORBA IDL mode. Fontifies nothing except the syntactic fontification of strings and comments. (defconst idl-font-lock-keywords-1 (byte-code "\301=\203\302\207\303\304\305\306#\207" [c-version-sym 5\.32\.4 (("\\(\\=\\|\\(\\=\\|[^\\]\\)[\n ]\\)\\s *#\\s *\\(\\(?:error\\>\\)\\)\\s +\\(.*\\)$" 4 font-lock-string-face t) ("\\(\\=\\|\\(\\=\\|[^\\]\\)[\n ]\\)\\s *#\\s *\\(?:include\\)\\(\\s \\|[\n ]\\)*\\(\\(//[^\n ]*[\n ]\\|/\\*[^*\n ]*\\(\\*+[^*\n /][^*\n ]*\\)*\\*+/\\|\\\\[\n ]\\|\\s!\\S!*\\s!\\)\\(\\s \\|[\n ]\\)*\\)*\\(<[^>\n ]*>?\\)" (8 font-lock-string-face) (#[(limit) "\304\224\304\225Sf\305=\203+ \211\306 \211T\307\310$\210*\211\306 \211T\307\311$\210*\2025 \312\n\211T\313#\210)*\314\207" [end beg pos -pos- 8 62 put-text-property category c-<-as-paren-syntax c->-as-paren-syntax remove-text-properties (category nil) nil] 6])) (#[#1=(limit) "\304\300!\305\306 \307#\203m\310\224b\210\311 !\204\310\225b\210\312 \313\216\314\224\203`\214\315\316\224\316\225\317\320$\210\314\225b\210e }\210\321 \210\322 !\203\\\315\310\224\310\225\317\323$\210\310\225b\210\321 \210\324f\325=\203\\\324u\210\2026)\202i\315\316\224\316\225\317\323$\210*\202)\324\207" [parse-sexp-lookup-properties limit save-match-data-internal c-symbol-key boundp re-search-forward "\\(\\=\\|\\(\\=\\|[^\\]\\)[\n ]\\)\\s *#\\s *define\\(\\(\\s \\|[\n ]\\)\\|//[^\n ]*[\n ]\\|/\\*[^*\n ]*\\(\\*+[^*\n /][^*\n ]*\\)*\\*+/\\|\\\\[\n ]\\|\\s!\\S!*\\s!\\)+\\([[:alpha:]_][[:alnum:]_$]*\\)\\(\\((\\)\\|\\([^(]\\|$\\)\\)" t 0 c-skip-comments-and-strings match-data ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) 8 put-text-property 6 face font-lock-function-name-face c-forward-sws looking-at font-lock-variable-name-face nil 44] 5]) (#[(limit) "\305\300! \306=\203:\212\307 \210`)\310\311\n\312#\2039\313\224b\210\314\n!\204\313\225b\210\315 \316\216\317\320\224\320\225\321\f$\210*\202)\310\322\n\312#\203t\313\224b\210\314\n!\204:\313\225b\210\323\225b\210\315 \324\216\313\225\310\311\n\325#\203p\317\320\224\320\225\321\f$\210\202\\+\202:)\326\207" [parse-sexp-lookup-properties c-font-lock-context limit save-match-data-internal c-preprocessor-face-name boundp in-cpp-expr c-end-of-macro re-search-forward "\\(\\(?:defined\\)\\)\\([^[:alnum:]_$]\\|$\\)" t 0 c-skip-comments-and-strings match-data ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) put-text-property 1 face "\\(\\=\\|\\(\\=\\|[^\\]\\)[\n ]\\)\\s *#\\s *\\(\\(?:\\(?:el\\)?if\\)\\)\\([^[:alnum:]_$]\\|$\\)\\(\\\\\\(.\\|[\n ]\\)\\|[^\n ]\\)*" 3 ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) move nil] 5]) (#[#1# "\304\300!\305\306 \307#\203,\310\224b\210\311 !\204\310\225b\210\312 \313\216\314\315\224\315\225\316 $\210*\202)\317\207" [parse-sexp-lookup-properties limit save-match-data-internal c-preprocessor-face-name boundp re-search-forward "\\(\\=\\|\\(\\=\\|[^\\]\\)[\n ]\\)\\(\\s *#\\s *[[:alnum:]_$]+\\)" t 0 c-skip-comments-and-strings match-data ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) put-text-property 3 face nil] 5]) (eval list #[(limit) "\302\303\304 \305#\211\203\306\224b\210\307 !\204\306\225b\210)\207" [res limit nil re-search-forward "\\(\\=\\|\\(\\=\\|[^\\]\\)[\n ]\\)\\s *#\\s *if\\(n\\)def\\>" t 0 c-skip-comments-and-strings] 4] 3 c-negation-char-face-name 'append) (eval list "\240" 0 (progn (unless (c-face-name-p 'c-nonbreakable-space-face) (c-make-inverse-face 'font-lock-warning-face 'c-nonbreakable-space-face)) ''c-nonbreakable-space-face))) c-get-lang-constant c-matchers-1 nil idl-mode] 4) (#$ . 108403)) #@299 Fast normal font locking for CORBA IDL mode. In addition to `idl-font-lock-keywords-1', this adds fontification of keywords, simple types, declarations that are easy to recognize, the user defined types on `idl-font-lock-extra-types', and the doc comment styles specified by `c-doc-comment-style'. (defconst idl-font-lock-keywords-2 (byte-code "\301=\203\302\207\303\304\305\306#\207" [c-version-sym 5\.32\.4 (("\\(\\=\\|\\(\\=\\|[^\\]\\)[\n ]\\)\\s *#\\s *\\(\\(?:error\\>\\)\\)\\s +\\(.*\\)$" 4 font-lock-string-face t) ("\\(\\=\\|\\(\\=\\|[^\\]\\)[\n ]\\)\\s *#\\s *\\(?:include\\)\\(\\s \\|[\n ]\\)*\\(\\(//[^\n ]*[\n ]\\|/\\*[^*\n ]*\\(\\*+[^*\n /][^*\n ]*\\)*\\*+/\\|\\\\[\n ]\\|\\s!\\S!*\\s!\\)\\(\\s \\|[\n ]\\)*\\)*\\(<[^>\n ]*>?\\)" (8 font-lock-string-face) (#[(limit) "\304\224\304\225Sf\305=\203+ \211\306 \211T\307\310$\210*\211\306 \211T\307\311$\210*\2025 \312\n\211T\313#\210)*\314\207" [end beg pos -pos- 8 62 put-text-property category c-<-as-paren-syntax c->-as-paren-syntax remove-text-properties (category nil) nil] 6])) (#[#1=(limit) "\304\300!\305\306 \307#\203m\310\224b\210\311 !\204\310\225b\210\312 \313\216\314\224\203`\214\315\316\224\316\225\317\320$\210\314\225b\210e }\210\321 \210\322 !\203\\\315\310\224\310\225\317\323$\210\310\225b\210\321 \210\324f\325=\203\\\324u\210\2026)\202i\315\316\224\316\225\317\323$\210*\202)\324\207" [parse-sexp-lookup-properties limit save-match-data-internal c-symbol-key boundp re-search-forward "\\(\\=\\|\\(\\=\\|[^\\]\\)[\n ]\\)\\s *#\\s *define\\(\\(\\s \\|[\n ]\\)\\|//[^\n ]*[\n ]\\|/\\*[^*\n ]*\\(\\*+[^*\n /][^*\n ]*\\)*\\*+/\\|\\\\[\n ]\\|\\s!\\S!*\\s!\\)+\\([[:alpha:]_][[:alnum:]_$]*\\)\\(\\((\\)\\|\\([^(]\\|$\\)\\)" t 0 c-skip-comments-and-strings match-data ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) 8 put-text-property 6 face font-lock-function-name-face c-forward-sws looking-at font-lock-variable-name-face nil 44] 5]) (#[(limit) "\305\300! \306=\203:\212\307 \210`)\310\311\n\312#\2039\313\224b\210\314\n!\204\313\225b\210\315 \316\216\317\320\224\320\225\321\f$\210*\202)\310\322\n\312#\203t\313\224b\210\314\n!\204:\313\225b\210\323\225b\210\315 \324\216\313\225\310\311\n\325#\203p\317\320\224\320\225\321\f$\210\202\\+\202:)\326\207" [parse-sexp-lookup-properties c-font-lock-context limit save-match-data-internal c-preprocessor-face-name boundp in-cpp-expr c-end-of-macro re-search-forward "\\(\\(?:defined\\)\\)\\([^[:alnum:]_$]\\|$\\)" t 0 c-skip-comments-and-strings match-data ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) put-text-property 1 face "\\(\\=\\|\\(\\=\\|[^\\]\\)[\n ]\\)\\s *#\\s *\\(\\(?:\\(?:el\\)?if\\)\\)\\([^[:alnum:]_$]\\|$\\)\\(\\\\\\(.\\|[\n ]\\)\\|[^\n ]\\)*" 3 ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) move nil] 5]) (#[#1# "\304\300!\305\306 \307#\203,\310\224b\210\311 !\204\310\225b\210\312 \313\216\314\315\224\315\225\316 $\210*\202)\317\207" [parse-sexp-lookup-properties limit save-match-data-internal c-preprocessor-face-name boundp re-search-forward "\\(\\=\\|\\(\\=\\|[^\\]\\)[\n ]\\)\\(\\s *#\\s *[[:alnum:]_$]+\\)" t 0 c-skip-comments-and-strings match-data ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) put-text-property 3 face nil] 5]) (eval list #[(limit) "\302\303\304 \305#\211\203\306\224b\210\307 !\204\306\225b\210)\207" [res limit nil re-search-forward "\\(\\=\\|\\(\\=\\|[^\\]\\)[\n ]\\)\\s *#\\s *if\\(n\\)def\\>" t 0 c-skip-comments-and-strings] 4] 3 c-negation-char-face-name 'append) (eval list "\240" 0 (progn (unless (c-face-name-p 'c-nonbreakable-space-face) (c-make-inverse-face 'font-lock-warning-face 'c-nonbreakable-space-face)) ''c-nonbreakable-space-face)) #[#1# "\303\300!\304\305 \306#\203&\307\224b\210\310 !\204\307\225b\210\311 \312\216\313 \210*\202)\314\207" [parse-sexp-lookup-properties limit save-match-data-internal boundp re-search-forward ".\\(\\s\"\\|\\s|\\)" t 0 c-skip-comments-and-strings match-data ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) c-font-lock-invalid-string nil] 4] (eval list "\\<\\(\\(?:\\(?:FALS\\|TRU\\)E\\)\\)\\>" 1 c-constant-face-name) ("\\<\\(\\(?:a\\(?:bstract\\|s\\|ttribute\\)\\|bindsTo\\|c\\(?:a\\(?:se\\|talog\\)\\|o\\(?:mpo\\(?:nent\\|sition\\)\\|n\\(?:s\\(?:t\\|umes\\)\\|text\\)\\)\\|ustom\\)\\|de\\(?:fault\\|legatesTo\\)\\|e\\(?:mits\\|n\\(?:tity\\|um\\)\\|venttype\\|x\\(?:ception\\|ecutor\\)\\)\\|f\\(?:ac\\(?:et\\|tory\\)\\|inder\\)\\|getraises\\|home\\|i\\(?:mp\\(?:lements\\|ort\\)\\|n\\(?:out\\|terface\\)?\\)\\|key\\|local\\|m\\(?:anages\\|\\(?:odu\\|ultip\\)le\\)\\|native\\|o\\(?:f\\|neway\\|ut\\)\\|p\\(?:r\\(?:i\\(?:mary\\(?:key\\)?\\|vate\\)\\|o\\(?:cess\\|vides\\|xy\\)\\)\\|ubli\\(?:c\\|shes\\)\\)\\|r\\(?:aises\\|eadonly\\)\\|s\\(?:cope\\|e\\(?:gment\\|rvice\\|ssion\\|traises\\)\\|t\\(?:ate\\|or\\(?:age\\(?:\\(?:hom\\|typ\\)e\\)?\\|e\\(?:dOn\\|s\\)\\)\\|ruct\\)\\|upports\\|witch\\)\\|t\\(?:runcatable\\|ype\\(?:def\\|id\\|prefix\\)\\)\\|u\\(?:nion\\|ses\\)\\|valuetype\\)\\)\\([^[:alnum:]_$]\\|$\\)" 1 font-lock-keyword-face) (#[(limit) "\302\303\304#\205*\305\224b\210\306!\204\307\310\224\311\"\204#\312\310\224\310\225\311 $\210\313\225b\210\202\207" [limit c-reference-face-name re-search-forward "\\(\\<\\([[:alpha:]_][[:alnum:]_$]*\\)\\(\\s \\|[\n ]\\)*\\(\\(?:::\\)\\)\\(\\s \\|[\n ]\\)*\\)\\([[:alpha:]_]\\)" t 0 c-skip-comments-and-strings get-text-property 2 face put-text-property 1] 5]) (eval list "\\(!\\)[^=]" 1 c-negation-char-face-name) (eval list #[#1# "\304\300!\305 \n\306#\203I\307\224b\210\310\n!\204\307\225b\210\311 \312\216\313\314\224\314\225\315\316$\210*\311 \317\216\314\225b\210\320 \210*\311 \321\216\322\n\306\323#\210*\314\225b\210\202)\323\207" [parse-sexp-lookup-properties c-known-type-key limit save-match-data-internal boundp re-search-forward t 0 c-skip-comments-and-strings match-data ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) put-text-property 1 face font-lock-type-face ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) c-forward-sws ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) c-font-lock-declarators nil] 5]) (#[#1# "\303\300!\304\305 \306#\203:\307\224b\210\310 !\204\307\225b\210\311 \312\216\313\225b\210\314 \210*\311 \315\216\316 \306\317#\210*\313\225b\210\202)\317\207" [parse-sexp-lookup-properties limit save-match-data-internal boundp re-search-forward "\\<\\(\\(?:c\\(?:atalog\\|omponent\\)\\|e\\(?:num\\|venttype\\|x\\(?:ception\\|ecutor\\)\\)\\|f\\(?:ac\\(?:et\\|tory\\)\\|inder\\)\\|home\\|interface\\|key\\|manages\\|native\\|s\\(?:egment\\|t\\(?:or\\(?:age\\(?:\\(?:hom\\|typ\\)e\\)\\|es\\)\\|ruct\\)\\)\\|union\\|valuetype\\)\\)\\>" t 0 c-skip-comments-and-strings match-data ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) 1 c-forward-sws ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) c-font-lock-declarators nil] 4]) c-font-lock-enum-tail (#[#1# "\304\300!\305\306 \307#\203F\310\224b\210\311 !\204\310\225b\210\312 \313\216\310\225b\210`S\314 \211T\315\316$\210)\317 \210*\312 \320\216\321 \307\322#\210*\310\225b\210\202)\322\207" [parse-sexp-lookup-properties limit save-match-data-internal -pos- boundp re-search-forward "\\<\\(\\(?:enum\\)\\)\\>[^][{}();,/#=]*{" t 0 c-skip-comments-and-strings match-data ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) put-text-property c-type c-decl-id-start c-forward-sws ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) c-font-lock-declarators nil] 5]) (#[(limit) "\306\301!\307\310!`\311!@\312=\203`\202\n)b\210\313\314 \315#\203R\316\224b\210\317 !\204\316\225b\210\320 \321\216\315\322\315\323\324!\210` V\203K b\210\325 \210-\202*\322\207" [BOD-limit parse-sexp-lookup-properties here limit save-match-data-internal c-promote-possible-types boundp c-determine-limit 1000 c-beginning-of-decl-1 same re-search-forward "\\<\\(\\(?:as\\|compo\\(?:nent\\|sition\\)\\|eventtype\\|home\\|i\\(?:mp\\(?:lements\\|ort\\)\\|nterface\\)\\|m\\(?:anages\\|odule\\)\\|native\\|of\\|primarykey\\|s\\(?:cope\\|torage\\(?:\\(?:hom\\|typ\\)e\\)\\|upports\\)\\|valuetype\\)\\)\\>" t 0 c-skip-comments-and-strings match-data ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) nil c-forward-keyword-clause 1 c-fontify-recorded-types-and-refs c-record-ref-identifiers c-record-type-identifiers] 4]) (#[#1# "\306\300!\307\310 \311#\2039\312\224b\210\313 !\204\312\225b\210\314 \315\216\311\316\311\317\320!\210` V\2032 b\210\321 \210-\202)\316\207" [parse-sexp-lookup-properties limit save-match-data-internal c-promote-possible-types c-record-ref-identifiers c-record-type-identifiers boundp re-search-forward "\\<\\(\\(?:switch\\)\\)\\>" t 0 c-skip-comments-and-strings match-data ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) nil c-forward-keyword-clause 1 c-fontify-recorded-types-and-refs] 4])) c-get-lang-constant c-matchers-2 nil idl-mode] 4) (#$ . 112133)) #@225 Accurate normal font locking for CORBA IDL mode. Like `idl-font-lock-keywords-2' but detects declarations in a more accurate way that works in most cases for arbitrary types without the need for `idl-font-lock-extra-types'. (defconst idl-font-lock-keywords-3 (byte-code "\301=\203\302\207\303\304\305\306#\207" [c-version-sym 5\.32\.4 (("\\(\\=\\|\\(\\=\\|[^\\]\\)[\n ]\\)\\s *#\\s *\\(\\(?:error\\>\\)\\)\\s +\\(.*\\)$" 4 font-lock-string-face t) ("\\(\\=\\|\\(\\=\\|[^\\]\\)[\n ]\\)\\s *#\\s *\\(?:include\\)\\(\\s \\|[\n ]\\)*\\(\\(//[^\n ]*[\n ]\\|/\\*[^*\n ]*\\(\\*+[^*\n /][^*\n ]*\\)*\\*+/\\|\\\\[\n ]\\|\\s!\\S!*\\s!\\)\\(\\s \\|[\n ]\\)*\\)*\\(<[^>\n ]*>?\\)" (8 font-lock-string-face) (#[(limit) "\304\224\304\225Sf\305=\203+ \211\306 \211T\307\310$\210*\211\306 \211T\307\311$\210*\2025 \312\n\211T\313#\210)*\314\207" [end beg pos -pos- 8 62 put-text-property category c-<-as-paren-syntax c->-as-paren-syntax remove-text-properties (category nil) nil] 6])) (#[#1=(limit) "\304\300!\305\306 \307#\203m\310\224b\210\311 !\204\310\225b\210\312 \313\216\314\224\203`\214\315\316\224\316\225\317\320$\210\314\225b\210e }\210\321 \210\322 !\203\\\315\310\224\310\225\317\323$\210\310\225b\210\321 \210\324f\325=\203\\\324u\210\2026)\202i\315\316\224\316\225\317\323$\210*\202)\324\207" [parse-sexp-lookup-properties limit save-match-data-internal c-symbol-key boundp re-search-forward "\\(\\=\\|\\(\\=\\|[^\\]\\)[\n ]\\)\\s *#\\s *define\\(\\(\\s \\|[\n ]\\)\\|//[^\n ]*[\n ]\\|/\\*[^*\n ]*\\(\\*+[^*\n /][^*\n ]*\\)*\\*+/\\|\\\\[\n ]\\|\\s!\\S!*\\s!\\)+\\([[:alpha:]_][[:alnum:]_$]*\\)\\(\\((\\)\\|\\([^(]\\|$\\)\\)" t 0 c-skip-comments-and-strings match-data ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) 8 put-text-property 6 face font-lock-function-name-face c-forward-sws looking-at font-lock-variable-name-face nil 44] 5]) (#[(limit) "\305\300! \306=\203:\212\307 \210`)\310\311\n\312#\2039\313\224b\210\314\n!\204\313\225b\210\315 \316\216\317\320\224\320\225\321\f$\210*\202)\310\322\n\312#\203t\313\224b\210\314\n!\204:\313\225b\210\323\225b\210\315 \324\216\313\225\310\311\n\325#\203p\317\320\224\320\225\321\f$\210\202\\+\202:)\326\207" [parse-sexp-lookup-properties c-font-lock-context limit save-match-data-internal c-preprocessor-face-name boundp in-cpp-expr c-end-of-macro re-search-forward "\\(\\(?:defined\\)\\)\\([^[:alnum:]_$]\\|$\\)" t 0 c-skip-comments-and-strings match-data ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) put-text-property 1 face "\\(\\=\\|\\(\\=\\|[^\\]\\)[\n ]\\)\\s *#\\s *\\(\\(?:\\(?:el\\)?if\\)\\)\\([^[:alnum:]_$]\\|$\\)\\(\\\\\\(.\\|[\n ]\\)\\|[^\n ]\\)*" 3 ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) move nil] 5]) (#[#1# "\304\300!\305\306 \307#\203,\310\224b\210\311 !\204\310\225b\210\312 \313\216\314\315\224\315\225\316 $\210*\202)\317\207" [parse-sexp-lookup-properties limit save-match-data-internal c-preprocessor-face-name boundp re-search-forward "\\(\\=\\|\\(\\=\\|[^\\]\\)[\n ]\\)\\(\\s *#\\s *[[:alnum:]_$]+\\)" t 0 c-skip-comments-and-strings match-data ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) put-text-property 3 face nil] 5]) (eval list #[(limit) "\302\303\304 \305#\211\203\306\224b\210\307 !\204\306\225b\210)\207" [res limit nil re-search-forward "\\(\\=\\|\\(\\=\\|[^\\]\\)[\n ]\\)\\s *#\\s *if\\(n\\)def\\>" t 0 c-skip-comments-and-strings] 4] 3 c-negation-char-face-name 'append) (eval list "\240" 0 (progn (unless (c-face-name-p 'c-nonbreakable-space-face) (c-make-inverse-face 'font-lock-warning-face 'c-nonbreakable-space-face)) ''c-nonbreakable-space-face)) #[#1# "\303\300!\304\305 \306#\203&\307\224b\210\310 !\204\307\225b\210\311 \312\216\313 \210*\202)\314\207" [parse-sexp-lookup-properties limit save-match-data-internal boundp re-search-forward ".\\(\\s\"\\|\\s|\\)" t 0 c-skip-comments-and-strings match-data ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) c-font-lock-invalid-string nil] 4] (eval list "\\<\\(\\(?:\\(?:FALS\\|TRU\\)E\\)\\)\\>" 1 c-constant-face-name) ("\\<\\(\\(?:a\\(?:bstract\\|s\\|ttribute\\)\\|bindsTo\\|c\\(?:a\\(?:se\\|talog\\)\\|o\\(?:mpo\\(?:nent\\|sition\\)\\|n\\(?:s\\(?:t\\|umes\\)\\|text\\)\\)\\|ustom\\)\\|de\\(?:fault\\|legatesTo\\)\\|e\\(?:mits\\|n\\(?:tity\\|um\\)\\|venttype\\|x\\(?:ception\\|ecutor\\)\\)\\|f\\(?:ac\\(?:et\\|tory\\)\\|inder\\)\\|getraises\\|home\\|i\\(?:mp\\(?:lements\\|ort\\)\\|n\\(?:out\\|terface\\)?\\)\\|key\\|local\\|m\\(?:anages\\|\\(?:odu\\|ultip\\)le\\)\\|native\\|o\\(?:f\\|neway\\|ut\\)\\|p\\(?:r\\(?:i\\(?:mary\\(?:key\\)?\\|vate\\)\\|o\\(?:cess\\|vides\\|xy\\)\\)\\|ubli\\(?:c\\|shes\\)\\)\\|r\\(?:aises\\|eadonly\\)\\|s\\(?:cope\\|e\\(?:gment\\|rvice\\|ssion\\|traises\\)\\|t\\(?:ate\\|or\\(?:age\\(?:\\(?:hom\\|typ\\)e\\)?\\|e\\(?:dOn\\|s\\)\\)\\|ruct\\)\\|upports\\|witch\\)\\|t\\(?:runcatable\\|ype\\(?:def\\|id\\|prefix\\)\\)\\|u\\(?:nion\\|ses\\)\\|valuetype\\)\\)\\([^[:alnum:]_$]\\|$\\)" 1 font-lock-keyword-face) (#[(limit) "\302\303\304#\205*\305\224b\210\306!\204\307\310\224\311\"\204#\312\310\224\310\225\311 $\210\313\225b\210\202\207" [limit c-reference-face-name re-search-forward "\\(\\<\\([[:alpha:]_][[:alnum:]_$]*\\)\\(\\s \\|[\n ]\\)*\\(\\(?:::\\)\\)\\(\\s \\|[\n ]\\)*\\)\\([[:alpha:]_]\\)" t 0 c-skip-comments-and-strings get-text-property 2 face put-text-property 1] 5]) (eval list "\\(!\\)[^=]" 1 c-negation-char-face-name) c-font-lock-complex-decl-prepare c-font-lock-declarations c-font-lock-enclosing-decls c-font-lock-<>-arglists ("\\<\\(\\(?:Object\\|ValueBase\\|any\\|boolean\\|char\\|double\\|f\\(?:ixed\\|loat\\)\\|long\\|octet\\|ref\\|s\\(?:equence\\|hort\\|tr\\(?:[io]ng\\)\\)\\|unsigned\\|void\\|w\\(?:char\\|string\\)\\)\\)\\>" 1 'font-lock-type-face) c-font-lock-enum-tail (#[#1# "\304\300!\305\306 \307#\203F\310\224b\210\311 !\204\310\225b\210\312 \313\216\310\225b\210`S\314 \211T\315\316$\210)\317 \210*\312 \320\216\321 \307\322#\210*\310\225b\210\202)\322\207" [parse-sexp-lookup-properties limit save-match-data-internal -pos- boundp re-search-forward "\\<\\(\\(?:enum\\)\\)\\>[^][{}();,/#=]*{" t 0 c-skip-comments-and-strings match-data ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) put-text-property c-type c-decl-id-start c-forward-sws ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) c-font-lock-declarators nil] 5]) (#[(limit) "\306\301!\307\310!`\311!@\312=\203`\202\n)b\210\313\314 \315#\203R\316\224b\210\317 !\204\316\225b\210\320 \321\216\315\322\315\323\324!\210` V\203K b\210\325 \210-\202*\322\207" [BOD-limit parse-sexp-lookup-properties here limit save-match-data-internal c-promote-possible-types boundp c-determine-limit 1000 c-beginning-of-decl-1 same re-search-forward "\\<\\(\\(?:as\\|compo\\(?:nent\\|sition\\)\\|eventtype\\|home\\|i\\(?:mp\\(?:lements\\|ort\\)\\|nterface\\)\\|m\\(?:anages\\|odule\\)\\|native\\|of\\|primarykey\\|s\\(?:cope\\|torage\\(?:\\(?:hom\\|typ\\)e\\)\\|upports\\)\\|valuetype\\)\\)\\>" t 0 c-skip-comments-and-strings match-data ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) nil c-forward-keyword-clause 1 c-fontify-recorded-types-and-refs c-record-ref-identifiers c-record-type-identifiers] 4]) (#[#1# "\306\300!\307\310 \311#\2039\312\224b\210\313 !\204\312\225b\210\314 \315\216\311\316\311\317\320!\210` V\2032 b\210\321 \210-\202)\316\207" [parse-sexp-lookup-properties limit save-match-data-internal c-promote-possible-types c-record-ref-identifiers c-record-type-identifiers boundp re-search-forward "\\<\\(\\(?:switch\\)\\)\\>" t 0 c-skip-comments-and-strings match-data ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) nil c-forward-keyword-clause 1 c-fontify-recorded-types-and-refs] 4])) c-get-lang-constant c-matchers-3 nil idl-mode] 4) (#$ . 121499)) #@53 Default expressions to highlight in CORBA IDL mode. (defvar idl-font-lock-keywords idl-font-lock-keywords-3 (#$ . 129587)) (defalias 'idl-font-lock-keywords-2 #[nil "\301!\207" [idl-font-lock-keywords-2 c-compose-keywords-list] 2]) (defalias 'idl-font-lock-keywords-3 #[nil "\301!\207" [idl-font-lock-keywords-3 c-compose-keywords-list] 2]) (defalias 'idl-font-lock-keywords #[nil "\301!\207" [idl-font-lock-keywords c-compose-keywords-list] 2]) (c-override-default-keywords 'pike-font-lock-keywords) #@146 Minimal font locking for Pike mode. Fontifies only preprocessor directives (in addition to the syntactic fontification of strings and comments). (defconst pike-font-lock-keywords-1 (byte-code "\301=\203\302\207\303\304\305\306#\207" [c-version-sym 5\.32\.4 (("\\(\\=\\|\\(\\=\\|[^\\]\\)[\n ]\\)\\s *#\\s *\\(\\(?:\\(?:error\\|warning\\)\\>\\)\\)\\s +\\(.*\\)$" 4 font-lock-string-face t) ("\\(\\=\\|\\(\\=\\|[^\\]\\)[\n ]\\)\\s *#\\s *\\(?:include\\)\\(\\s \\|[\n ]\\)*\\(\\(//[^\n ]*[\n ]\\|/\\*[^*\n ]*\\(\\*+[^*\n /][^*\n ]*\\)*\\*+/\\|\\\\[\n ]\\|\\s!\\S!*\\s!\\)\\(\\s \\|[\n ]\\)*\\)*\\(<[^>\n ]*>?\\)" (8 font-lock-string-face) (#[(limit) "\304\224\304\225Sf\305=\203+ \211\306 \211T\307\310$\210*\211\306 \211T\307\311$\210*\2025 \312\n\211T\313#\210)*\314\207" [end beg pos -pos- 8 62 put-text-property category c-<-as-paren-syntax c->-as-paren-syntax remove-text-properties (category nil) nil] 6])) (#[#1=(limit) "\304\300!\305\306 \307#\203m\310\224b\210\311 !\204\310\225b\210\312 \313\216\314\224\203`\214\315\316\224\316\225\317\320$\210\314\225b\210e }\210\321 \210\322 !\203\\\315\310\224\310\225\317\323$\210\310\225b\210\321 \210\324f\325=\203\\\324u\210\2026)\202i\315\316\224\316\225\317\323$\210*\202)\324\207" [parse-sexp-lookup-properties limit save-match-data-internal c-symbol-key boundp re-search-forward "\\(\\=\\|\\(\\=\\|[^\\]\\)[\n ]\\)\\s *#\\s *define\\(\\(\\s \\|[\n ]\\)\\|//[^\n ]*[\n ]\\|/\\*[^*\n ]*\\(\\*+[^*\n /][^*\n ]*\\)*\\*+/\\|\\\\[\n ]\\|\\s!\\S!*\\s!\\)+\\([[:alpha:]_][[:alnum:]_$]*\\|\\(?:`\\(?:()\\|\\+=\\|->=?\\|<<\\|==\\|>>\\|\\[]=?\\|`\\(?:<<\\|>>\\|[%&*+/|^-]\\)\\|[!%&*+/<>|~^-]\\)\\)\\)\\(\\((\\)\\|\\([^(]\\|$\\)\\)" t 0 c-skip-comments-and-strings match-data ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) 8 put-text-property 6 face font-lock-function-name-face c-forward-sws looking-at font-lock-variable-name-face nil 44] 5]) (#[(limit) "\305\300! \306=\203:\212\307 \210`)\310\311\n\312#\2039\313\224b\210\314\n!\204\313\225b\210\315 \316\216\317\320\224\320\225\321\f$\210*\202)\310\322\n\312#\203t\313\224b\210\314\n!\204:\313\225b\210\323\225b\210\315 \324\216\313\225\310\311\n\325#\203p\317\320\224\320\225\321\f$\210\202\\+\202:)\326\207" [parse-sexp-lookup-properties c-font-lock-context limit save-match-data-internal c-preprocessor-face-name boundp in-cpp-expr c-end-of-macro re-search-forward "\\(\\(?:constant\\|defined\\|efun\\)\\)\\([^[:alnum:]_$]\\|$\\)" t 0 c-skip-comments-and-strings match-data ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) put-text-property 1 face "\\(\\=\\|\\(\\=\\|[^\\]\\)[\n ]\\)\\s *#\\s *\\(\\(?:\\(?:el\\)?if\\)\\)\\([^[:alnum:]_$]\\|$\\)\\(\\\\\\(.\\|[\n ]\\)\\|[^\n ]\\)*" 3 ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) move nil] 5]) (#[#1# "\304\300!\305\306 \307#\203,\310\224b\210\311 !\204\310\225b\210\312 \313\216\314\315\224\315\225\316 $\210*\202)\317\207" [parse-sexp-lookup-properties limit save-match-data-internal c-preprocessor-face-name boundp re-search-forward "\\(\\=\\|\\(\\=\\|[^\\]\\)[\n ]\\)\\(\\s *#\\s *[[:alnum:]_$]+\\)" t 0 c-skip-comments-and-strings match-data ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) put-text-property 3 face nil] 5]) (eval list #[(limit) "\302\303\304 \305#\211\203\306\224b\210\307 !\204\306\225b\210)\207" [res limit nil re-search-forward "\\(\\=\\|\\(\\=\\|[^\\]\\)[\n ]\\)\\s *#\\s *if\\(n\\)def\\>" t 0 c-skip-comments-and-strings] 4] 3 c-negation-char-face-name 'append) (eval list "\\`#![^\n ]*" 0 c-preprocessor-face-name) (eval list "\240" 0 (progn (unless (c-face-name-p 'c-nonbreakable-space-face) (c-make-inverse-face 'font-lock-warning-face 'c-nonbreakable-space-face)) ''c-nonbreakable-space-face))) c-get-lang-constant c-matchers-1 nil pike-mode] 4) (#$ . 130098)) #@296 Fast normal font locking for Pike mode. In addition to `pike-font-lock-keywords-1', this adds fontification of keywords, simple types, declarations that are easy to recognize, the user defined types on `pike-font-lock-extra-types', and the doc comment styles specified by `c-doc-comment-style'. (defconst pike-font-lock-keywords-2 (byte-code "\301=\203\302\207\303\304\305\306#\207" [c-version-sym 5\.32\.4 (("\\(\\=\\|\\(\\=\\|[^\\]\\)[\n ]\\)\\s *#\\s *\\(\\(?:\\(?:error\\|warning\\)\\>\\)\\)\\s +\\(.*\\)$" 4 font-lock-string-face t) ("\\(\\=\\|\\(\\=\\|[^\\]\\)[\n ]\\)\\s *#\\s *\\(?:include\\)\\(\\s \\|[\n ]\\)*\\(\\(//[^\n ]*[\n ]\\|/\\*[^*\n ]*\\(\\*+[^*\n /][^*\n ]*\\)*\\*+/\\|\\\\[\n ]\\|\\s!\\S!*\\s!\\)\\(\\s \\|[\n ]\\)*\\)*\\(<[^>\n ]*>?\\)" (8 font-lock-string-face) (#[(limit) "\304\224\304\225Sf\305=\203+ \211\306 \211T\307\310$\210*\211\306 \211T\307\311$\210*\2025 \312\n\211T\313#\210)*\314\207" [end beg pos -pos- 8 62 put-text-property category c-<-as-paren-syntax c->-as-paren-syntax remove-text-properties (category nil) nil] 6])) (#[#1=(limit) "\304\300!\305\306 \307#\203m\310\224b\210\311 !\204\310\225b\210\312 \313\216\314\224\203`\214\315\316\224\316\225\317\320$\210\314\225b\210e }\210\321 \210\322 !\203\\\315\310\224\310\225\317\323$\210\310\225b\210\321 \210\324f\325=\203\\\324u\210\2026)\202i\315\316\224\316\225\317\323$\210*\202)\324\207" [parse-sexp-lookup-properties limit save-match-data-internal c-symbol-key boundp re-search-forward "\\(\\=\\|\\(\\=\\|[^\\]\\)[\n ]\\)\\s *#\\s *define\\(\\(\\s \\|[\n ]\\)\\|//[^\n ]*[\n ]\\|/\\*[^*\n ]*\\(\\*+[^*\n /][^*\n ]*\\)*\\*+/\\|\\\\[\n ]\\|\\s!\\S!*\\s!\\)+\\([[:alpha:]_][[:alnum:]_$]*\\|\\(?:`\\(?:()\\|\\+=\\|->=?\\|<<\\|==\\|>>\\|\\[]=?\\|`\\(?:<<\\|>>\\|[%&*+/|^-]\\)\\|[!%&*+/<>|~^-]\\)\\)\\)\\(\\((\\)\\|\\([^(]\\|$\\)\\)" t 0 c-skip-comments-and-strings match-data ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) 8 put-text-property 6 face font-lock-function-name-face c-forward-sws looking-at font-lock-variable-name-face nil 44] 5]) (#[(limit) "\305\300! \306=\203:\212\307 \210`)\310\311\n\312#\2039\313\224b\210\314\n!\204\313\225b\210\315 \316\216\317\320\224\320\225\321\f$\210*\202)\310\322\n\312#\203t\313\224b\210\314\n!\204:\313\225b\210\323\225b\210\315 \324\216\313\225\310\311\n\325#\203p\317\320\224\320\225\321\f$\210\202\\+\202:)\326\207" [parse-sexp-lookup-properties c-font-lock-context limit save-match-data-internal c-preprocessor-face-name boundp in-cpp-expr c-end-of-macro re-search-forward "\\(\\(?:constant\\|defined\\|efun\\)\\)\\([^[:alnum:]_$]\\|$\\)" t 0 c-skip-comments-and-strings match-data ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) put-text-property 1 face "\\(\\=\\|\\(\\=\\|[^\\]\\)[\n ]\\)\\s *#\\s *\\(\\(?:\\(?:el\\)?if\\)\\)\\([^[:alnum:]_$]\\|$\\)\\(\\\\\\(.\\|[\n ]\\)\\|[^\n ]\\)*" 3 ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) move nil] 5]) (#[#1# "\304\300!\305\306 \307#\203,\310\224b\210\311 !\204\310\225b\210\312 \313\216\314\315\224\315\225\316 $\210*\202)\317\207" [parse-sexp-lookup-properties limit save-match-data-internal c-preprocessor-face-name boundp re-search-forward "\\(\\=\\|\\(\\=\\|[^\\]\\)[\n ]\\)\\(\\s *#\\s *[[:alnum:]_$]+\\)" t 0 c-skip-comments-and-strings match-data ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) put-text-property 3 face nil] 5]) (eval list #[(limit) "\302\303\304 \305#\211\203\306\224b\210\307 !\204\306\225b\210)\207" [res limit nil re-search-forward "\\(\\=\\|\\(\\=\\|[^\\]\\)[\n ]\\)\\s *#\\s *if\\(n\\)def\\>" t 0 c-skip-comments-and-strings] 4] 3 c-negation-char-face-name 'append) (eval list "\\`#![^\n ]*" 0 c-preprocessor-face-name) (eval list "\240" 0 (progn (unless (c-face-name-p 'c-nonbreakable-space-face) (c-make-inverse-face 'font-lock-warning-face 'c-nonbreakable-space-face)) ''c-nonbreakable-space-face)) #[#1# "\303\300!\304\305 \306#\203&\307\224b\210\310 !\204\307\225b\210\311 \312\216\313 \210*\202)\314\207" [parse-sexp-lookup-properties limit save-match-data-internal boundp re-search-forward ".\\(\\s\"\\|\\s|\\)" t 0 c-skip-comments-and-strings match-data ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) c-font-lock-invalid-string nil] 4] (eval list "\\(\\=.?\\|[^>]\\|[^-]>\\)\\<\\(\\(?:UNDEFINED\\)\\)\\>" 2 c-constant-face-name) ("\\(\\=.?\\|[^>]\\|[^-]>\\)\\<\\(\\(?:break\\|c\\(?:a\\(?:se\\|tch\\)\\|lass\\|on\\(?:stant\\|tinue\\)\\)\\|d\\(?:efault\\|o\\)\\|e\\(?:lse\\|num\\)\\|f\\(?:inal\\|or\\(?:each\\)?\\)\\|g\\(?:auge\\|lobal\\|oto\\)\\|i\\(?:f\\|mport\\|n\\(?:herit\\|line\\)\\)\\|l\\(?:ambda\\|ocal\\)\\|nomask\\|optional\\|p\\(?:r\\(?:edef\\|ivate\\|otected\\)\\|ublic\\)\\|return\\|s\\(?:tatic\\|witch\\)\\|t\\(?:h\\(?:is\\|row\\)\\|ypedef\\)\\|variant\\|while\\)\\)\\([^[:alnum:]_$]\\|$\\)" 2 font-lock-keyword-face) (#[(limit) "\302\303\304#\205*\305\224b\210\306!\204\307\310\224\311\"\204#\312\310\224\310\225\311 $\210\313\225b\210\202\207" [limit c-reference-face-name re-search-forward "\\(\\<\\([[:alpha:]_][[:alnum:]_$]*\\|\\(?:`\\(?:()\\|\\+=\\|->=?\\|<<\\|==\\|>>\\|\\[]=?\\|`\\(?:<<\\|>>\\|[%&*+/|^-]\\)\\|[!%&*+/<>|~^-]\\)\\)\\)\\(\\s \\|[\n ]\\)*\\(\\(?:\\.\\|::\\)\\)\\(\\s \\|[\n ]\\)*\\)\\([[:alpha:]_`]\\)" t 0 c-skip-comments-and-strings get-text-property 2 face put-text-property 1] 5]) (eval list "\\(!\\)[^=]" 1 c-negation-char-face-name) (eval list #[#1# "\304\300!\305 \n\306#\203I\307\224b\210\310\n!\204\307\225b\210\311 \312\216\313\314\224\314\225\315\316$\210*\311 \317\216\314\225b\210\320 \210*\311 \321\216\322\n\306\323#\210*\314\225b\210\202)\323\207" [parse-sexp-lookup-properties c-known-type-key limit save-match-data-internal boundp re-search-forward t 0 c-skip-comments-and-strings match-data ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) put-text-property 1 face font-lock-type-face ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) c-forward-sws ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) c-font-lock-declarators nil] 5]) (#[#1# "\303\300!\304\305 \306#\203:\307\224b\210\310 !\204\307\225b\210\311 \312\216\313\225b\210\314 \210*\311 \315\216\316 \306\317#\210*\313\225b\210\202)\317\207" [parse-sexp-lookup-properties limit save-match-data-internal boundp re-search-forward "\\<\\(\\(?:c\\(?:lass\\|onstant\\)\\)\\)\\>" t 0 c-skip-comments-and-strings match-data ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) 1 c-forward-sws ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) c-font-lock-declarators nil] 4]) c-font-lock-labels c-font-lock-enum-tail (#[#1# "\304\300!\305\306 \307#\203F\310\224b\210\311 !\204\310\225b\210\312 \313\216\310\225b\210`S\314 \211T\315\316$\210)\317 \210*\312 \320\216\321 \307\322#\210*\310\225b\210\202)\322\207" [parse-sexp-lookup-properties limit save-match-data-internal -pos- boundp re-search-forward "\\<\\(\\(?:enum\\)\\)\\>[^][{}();,/#=]*{" t 0 c-skip-comments-and-strings match-data ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) put-text-property c-type c-decl-id-start c-forward-sws ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) c-font-lock-declarators nil] 5]) (eval list "\\<\\(\\(?:break\\|continue\\|goto\\)\\)\\>\\s *\\([[:alpha:]_][[:alnum:]_$]*\\|\\(?:`\\(?:()\\|\\+=\\|->=?\\|<<\\|==\\|>>\\|\\[]=?\\|`\\(?:<<\\|>>\\|[%&*+/|^-]\\)\\|[!%&*+/<>|~^-]\\)\\)\\)" (list 2 c-label-face-name nil t)) (#[(limit) "\306\301!\307\310!`\311!@\312=\203`\202\n)b\210\313\314 \315#\203R\316\224b\210\317 !\204\316\225b\210\320 \321\216\315\322\315\323\324!\210` V\203K b\210\325 \210-\202*\322\207" [BOD-limit parse-sexp-lookup-properties here limit save-match-data-internal c-promote-possible-types boundp c-determine-limit 1000 c-beginning-of-decl-1 same re-search-forward "\\<\\(\\(?:i\\(?:\\(?:mpor\\|nheri\\)t\\)\\)\\)\\>" t 0 c-skip-comments-and-strings match-data ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) nil c-forward-keyword-clause 1 c-fontify-recorded-types-and-refs c-record-ref-identifiers c-record-type-identifiers] 4]) (#[#1# "\306\300!\307\310 \311#\2039\312\224b\210\313 !\204\312\225b\210\314 \315\216\311\316\311\317\320!\210` V\2032 b\210\321 \210-\202)\316\207" [parse-sexp-lookup-properties limit save-match-data-internal c-promote-possible-types c-record-ref-identifiers c-record-type-identifiers boundp re-search-forward "\\<\\(\\(?:array\\|function\\|int\\|m\\(?:apping\\|ultiset\\)\\|object\\|program\\)\\)\\>" t 0 c-skip-comments-and-strings match-data ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) nil c-forward-keyword-clause 1 c-fontify-recorded-types-and-refs] 4])) c-get-lang-constant c-matchers-2 nil pike-mode] 4) (#$ . 134055)) #@222 Accurate normal font locking for Pike mode. Like `pike-font-lock-keywords-2' but detects declarations in a more accurate way that works in most cases for arbitrary types without the need for `pike-font-lock-extra-types'. (defconst pike-font-lock-keywords-3 (byte-code "\301=\203\302\207\303\304\305\306#\207" [c-version-sym 5\.32\.4 (("\\(\\=\\|\\(\\=\\|[^\\]\\)[\n ]\\)\\s *#\\s *\\(\\(?:\\(?:error\\|warning\\)\\>\\)\\)\\s +\\(.*\\)$" 4 font-lock-string-face t) ("\\(\\=\\|\\(\\=\\|[^\\]\\)[\n ]\\)\\s *#\\s *\\(?:include\\)\\(\\s \\|[\n ]\\)*\\(\\(//[^\n ]*[\n ]\\|/\\*[^*\n ]*\\(\\*+[^*\n /][^*\n ]*\\)*\\*+/\\|\\\\[\n ]\\|\\s!\\S!*\\s!\\)\\(\\s \\|[\n ]\\)*\\)*\\(<[^>\n ]*>?\\)" (8 font-lock-string-face) (#[(limit) "\304\224\304\225Sf\305=\203+ \211\306 \211T\307\310$\210*\211\306 \211T\307\311$\210*\2025 \312\n\211T\313#\210)*\314\207" [end beg pos -pos- 8 62 put-text-property category c-<-as-paren-syntax c->-as-paren-syntax remove-text-properties (category nil) nil] 6])) (#[#1=(limit) "\304\300!\305\306 \307#\203m\310\224b\210\311 !\204\310\225b\210\312 \313\216\314\224\203`\214\315\316\224\316\225\317\320$\210\314\225b\210e }\210\321 \210\322 !\203\\\315\310\224\310\225\317\323$\210\310\225b\210\321 \210\324f\325=\203\\\324u\210\2026)\202i\315\316\224\316\225\317\323$\210*\202)\324\207" [parse-sexp-lookup-properties limit save-match-data-internal c-symbol-key boundp re-search-forward "\\(\\=\\|\\(\\=\\|[^\\]\\)[\n ]\\)\\s *#\\s *define\\(\\(\\s \\|[\n ]\\)\\|//[^\n ]*[\n ]\\|/\\*[^*\n ]*\\(\\*+[^*\n /][^*\n ]*\\)*\\*+/\\|\\\\[\n ]\\|\\s!\\S!*\\s!\\)+\\([[:alpha:]_][[:alnum:]_$]*\\|\\(?:`\\(?:()\\|\\+=\\|->=?\\|<<\\|==\\|>>\\|\\[]=?\\|`\\(?:<<\\|>>\\|[%&*+/|^-]\\)\\|[!%&*+/<>|~^-]\\)\\)\\)\\(\\((\\)\\|\\([^(]\\|$\\)\\)" t 0 c-skip-comments-and-strings match-data ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) 8 put-text-property 6 face font-lock-function-name-face c-forward-sws looking-at font-lock-variable-name-face nil 44] 5]) (#[(limit) "\305\300! \306=\203:\212\307 \210`)\310\311\n\312#\2039\313\224b\210\314\n!\204\313\225b\210\315 \316\216\317\320\224\320\225\321\f$\210*\202)\310\322\n\312#\203t\313\224b\210\314\n!\204:\313\225b\210\323\225b\210\315 \324\216\313\225\310\311\n\325#\203p\317\320\224\320\225\321\f$\210\202\\+\202:)\326\207" [parse-sexp-lookup-properties c-font-lock-context limit save-match-data-internal c-preprocessor-face-name boundp in-cpp-expr c-end-of-macro re-search-forward "\\(\\(?:constant\\|defined\\|efun\\)\\)\\([^[:alnum:]_$]\\|$\\)" t 0 c-skip-comments-and-strings match-data ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) put-text-property 1 face "\\(\\=\\|\\(\\=\\|[^\\]\\)[\n ]\\)\\s *#\\s *\\(\\(?:\\(?:el\\)?if\\)\\)\\([^[:alnum:]_$]\\|$\\)\\(\\\\\\(.\\|[\n ]\\)\\|[^\n ]\\)*" 3 ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) move nil] 5]) (#[#1# "\304\300!\305\306 \307#\203,\310\224b\210\311 !\204\310\225b\210\312 \313\216\314\315\224\315\225\316 $\210*\202)\317\207" [parse-sexp-lookup-properties limit save-match-data-internal c-preprocessor-face-name boundp re-search-forward "\\(\\=\\|\\(\\=\\|[^\\]\\)[\n ]\\)\\(\\s *#\\s *[[:alnum:]_$]+\\)" t 0 c-skip-comments-and-strings match-data ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) put-text-property 3 face nil] 5]) (eval list #[(limit) "\302\303\304 \305#\211\203\306\224b\210\307 !\204\306\225b\210)\207" [res limit nil re-search-forward "\\(\\=\\|\\(\\=\\|[^\\]\\)[\n ]\\)\\s *#\\s *if\\(n\\)def\\>" t 0 c-skip-comments-and-strings] 4] 3 c-negation-char-face-name 'append) (eval list "\\`#![^\n ]*" 0 c-preprocessor-face-name) (eval list "\240" 0 (progn (unless (c-face-name-p 'c-nonbreakable-space-face) (c-make-inverse-face 'font-lock-warning-face 'c-nonbreakable-space-face)) ''c-nonbreakable-space-face)) #[#1# "\303\300!\304\305 \306#\203&\307\224b\210\310 !\204\307\225b\210\311 \312\216\313 \210*\202)\314\207" [parse-sexp-lookup-properties limit save-match-data-internal boundp re-search-forward ".\\(\\s\"\\|\\s|\\)" t 0 c-skip-comments-and-strings match-data ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) c-font-lock-invalid-string nil] 4] (eval list "\\(\\=.?\\|[^>]\\|[^-]>\\)\\<\\(\\(?:UNDEFINED\\)\\)\\>" 2 c-constant-face-name) ("\\(\\=.?\\|[^>]\\|[^-]>\\)\\<\\(\\(?:break\\|c\\(?:a\\(?:se\\|tch\\)\\|lass\\|on\\(?:stant\\|tinue\\)\\)\\|d\\(?:efault\\|o\\)\\|e\\(?:lse\\|num\\)\\|f\\(?:inal\\|or\\(?:each\\)?\\)\\|g\\(?:auge\\|lobal\\|oto\\)\\|i\\(?:f\\|mport\\|n\\(?:herit\\|line\\)\\)\\|l\\(?:ambda\\|ocal\\)\\|nomask\\|optional\\|p\\(?:r\\(?:edef\\|ivate\\|otected\\)\\|ublic\\)\\|return\\|s\\(?:tatic\\|witch\\)\\|t\\(?:h\\(?:is\\|row\\)\\|ypedef\\)\\|variant\\|while\\)\\)\\([^[:alnum:]_$]\\|$\\)" 2 font-lock-keyword-face) (#[(limit) "\302\303\304#\205*\305\224b\210\306!\204\307\310\224\311\"\204#\312\310\224\310\225\311 $\210\313\225b\210\202\207" [limit c-reference-face-name re-search-forward "\\(\\<\\([[:alpha:]_][[:alnum:]_$]*\\|\\(?:`\\(?:()\\|\\+=\\|->=?\\|<<\\|==\\|>>\\|\\[]=?\\|`\\(?:<<\\|>>\\|[%&*+/|^-]\\)\\|[!%&*+/<>|~^-]\\)\\)\\)\\(\\s \\|[\n ]\\)*\\(\\(?:\\.\\|::\\)\\)\\(\\s \\|[\n ]\\)*\\)\\([[:alpha:]_`]\\)" t 0 c-skip-comments-and-strings get-text-property 2 face put-text-property 1] 5]) (eval list "\\(!\\)[^=]" 1 c-negation-char-face-name) c-font-lock-complex-decl-prepare c-font-lock-declarations c-font-lock-enclosing-decls ("\\(\\=.?\\|[^>]\\|[^-]>\\)\\<\\(\\(?:array\\|f\\(?:loat\\|unction\\)\\|int\\|m\\(?:apping\\|ixed\\|ultiset\\)\\|object\\|program\\|string\\|this_program\\|void\\)\\)\\>" 2 font-lock-type-face) c-font-lock-enum-tail (#[#1# "\304\300!\305\306 \307#\203F\310\224b\210\311 !\204\310\225b\210\312 \313\216\310\225b\210`S\314 \211T\315\316$\210)\317 \210*\312 \320\216\321 \307\322#\210*\310\225b\210\202)\322\207" [parse-sexp-lookup-properties limit save-match-data-internal -pos- boundp re-search-forward "\\<\\(\\(?:enum\\)\\)\\>[^][{}();,/#=]*{" t 0 c-skip-comments-and-strings match-data ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) put-text-property c-type c-decl-id-start c-forward-sws ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) c-font-lock-declarators nil] 5]) (eval list "\\<\\(\\(?:break\\|continue\\|goto\\)\\)\\>\\s *\\([[:alpha:]_][[:alnum:]_$]*\\|\\(?:`\\(?:()\\|\\+=\\|->=?\\|<<\\|==\\|>>\\|\\[]=?\\|`\\(?:<<\\|>>\\|[%&*+/|^-]\\)\\|[!%&*+/<>|~^-]\\)\\)\\)" (list 2 c-label-face-name nil t)) (#[(limit) "\306\301!\307\310!`\311!@\312=\203`\202\n)b\210\313\314 \315#\203R\316\224b\210\317 !\204\316\225b\210\320 \321\216\315\322\315\323\324!\210` V\203K b\210\325 \210-\202*\322\207" [BOD-limit parse-sexp-lookup-properties here limit save-match-data-internal c-promote-possible-types boundp c-determine-limit 1000 c-beginning-of-decl-1 same re-search-forward "\\<\\(\\(?:i\\(?:\\(?:mpor\\|nheri\\)t\\)\\)\\)\\>" t 0 c-skip-comments-and-strings match-data ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) nil c-forward-keyword-clause 1 c-fontify-recorded-types-and-refs c-record-ref-identifiers c-record-type-identifiers] 4]) (#[#1# "\306\300!\307\310 \311#\2039\312\224b\210\313 !\204\312\225b\210\314 \315\216\311\316\311\317\320!\210` V\2032 b\210\321 \210-\202)\316\207" [parse-sexp-lookup-properties limit save-match-data-internal c-promote-possible-types c-record-ref-identifiers c-record-type-identifiers boundp re-search-forward "\\<\\(\\(?:array\\|function\\|int\\|m\\(?:apping\\|ultiset\\)\\|object\\|program\\)\\)\\>" t 0 c-skip-comments-and-strings match-data ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) nil c-forward-keyword-clause 1 c-fontify-recorded-types-and-refs] 4])) c-get-lang-constant c-matchers-3 nil pike-mode] 4) (#$ . 143219)) #@48 Default expressions to highlight in Pike mode. (defvar pike-font-lock-keywords pike-font-lock-keywords-3 (#$ . 151268)) (defalias 'pike-font-lock-keywords-2 #[nil "\301!\207" [pike-font-lock-keywords-2 c-compose-keywords-list] 2]) (defalias 'pike-font-lock-keywords-3 #[nil "\301!\207" [pike-font-lock-keywords-3 c-compose-keywords-list] 2]) (defalias 'pike-font-lock-keywords #[nil "\301!\207" [pike-font-lock-keywords c-compose-keywords-list] 2]) (defalias 'c-font-lock-doc-comments #[(prefix limit keywords) "\306\211\307`\310\"\311=\203#\312 `\n\203\n@b\210\313 !\203\"`) \204\262\314 \f\315#\203\254\316\224\211 $%\307%\310\"\211&:\203`&\203[&@$>\204[&A\211&\204I&\202e&$>+\203\247 eU\204\254 S $%\307%\310\"\211&:\203\236&\203\231&@$>\204\231&A\211&\204\207&\202\243&$>+\203\254\306\202' \211\203\317 \211\320\\\"\321\234\315=\203\330 b\210\322 \210\323\324!\210`\fW\203\336\313 !\204\302\202\336 b\210\322 \210`\fV\203\347\fb\210\306`'\306\211\211()*+,\325,\310-$\210\214,TV\203,b\210\326u\210\313\327!\203`,,}\210+\203+@*+A+*@)b\210);\203G\314),\315#\202L),!\203 *A\211(@:\2036(\2037(@\211.@\211/\2240/\2251\320.820\204\215\330.8\206+\331\332/.#\202+\333.A@!\2113\242\310=\203\265\334013\2114AA)#\2103\2114A@)33\204\3052\315=\204\305\306\202*2\204\341\33501\310\306$\206*\32501\3103$\202*2\315=\203\364\32501\3103$\202*2\336=\203\33701\3103$\202*2\340=\203\34101\3103$\202*2\342=\205*\34301\3103$)-\210(A\211(\202\\(\211.@\211/\2240/\2251\320.820\204c\330.8\206\331\332/.#\202\333.A@!\2113\242\310=\203\213\334013\2114AA)#\2103\2114A@)33\204\2332\315=\204\233\306\2022\204\267\33501\310\306$\206\32501\3103$\2022\315=\203\312\32501\3103$\2022\336=\203\335\33701\3103$\2022\340=\203\360\34101\3103$\2022\342=\205\34301\3103$)-\210\2027,b\210.\202#*\306\207" [region-beg comment-beg range prefix limit c-literal-faces nil get-text-property face font-lock-comment-face c-literal-limits looking-at re-search-forward t 0 parse-partial-sexp 2 7 c-forward-single-comment skip-syntax-forward " " put-text-property -2 "\\*/" 3 error "No match %d in highlight %S" eval add-text-properties text-property-not-all prepend font-lock-prepend-text-property append font-lock-append-text-property keep font-lock-fillin-text-property faces pos pos-faces keywords highlights matcher keyword keylist region-end c-doc-face-name highlight match start end override val x] 6]) (put 'c-font-lock-doc-comments 'lisp-indent-function 2) (defalias 'c-find-invalid-doc-markup #[(regexp limit) "\304\305 \n\306#\203\307\310\224\211\311\" =?\202\304\211\204\205-\312\313!\313T!D!\210\306)\207" [start regexp limit c-doc-face-name nil re-search-forward t get-text-property 0 face store-match-data copy-marker] 4]) (defconst gtkdoc-font-lock-doc-comments (byte-code "\303\304\305 \306R\307\n\310BBB \311P\312\n\313BBB\305\314 \315\260\307\n\316BBB\317 P\312\n\320BBBF*\207" [header symbol c-doc-markup-face-name "[a-zA-Z0-9_]+" "^ \\* " "\\(" "\\):[ ]*$" 1 (prepend nil) "()" 0 (prepend nil) "@" "\\):" (prepend nil) "[#%@]" (prepend nil)] 7)) (defconst gtkdoc-font-lock-doc-protection (byte-code "\301\302\303BBBC\207" [c-doc-markup-face-name "< \\(public\\|private\\|protected\\) >" 1 (prepend nil)] 4)) (defconst gtkdoc-font-lock-keywords (byte-code "\300CC\207" [#[(limit) "\303\304 #\210\303\305\n#\207" [limit gtkdoc-font-lock-doc-comments gtkdoc-font-lock-doc-protection c-font-lock-doc-comments "/\\*\\*$" "/\\*< "] 4]] 1)) (defconst javadoc-font-lock-doc-comments (byte-code "\301\302\303BBB\304\305\306BBB\307\302\310BBB\311\302\312BBB\313\314B\257\207" [c-doc-markup-face-name "{@[a-z]+[^}\n ]*}" 0 (prepend nil) "^\\(/\\*\\)?\\(\\s \\|\\*\\)*\\(@[a-z]+\\)" 3 (prepend nil) "</?\\sw\\(\\sw\\|\\s \\|[=\n *.:]\\|\"[^\"]*\"\\|'[^']*'\\)*>" (prepend nil) "&\\(\\sw\\|[.:]\\)+;" (prepend nil) #[(limit) "\301\302\"\207" [limit c-find-invalid-doc-markup "[<>&]\\|{@"] 3] (0 'font-lock-warning-face prepend nil)] 7)) (defconst javadoc-font-lock-keywords (byte-code "\300CC\207" [#[(limit) "\302\303 #\207" [limit javadoc-font-lock-doc-comments c-font-lock-doc-comments "/\\*\\*"] 4]] 1)) (defconst autodoc-decl-keywords "\\(\\(?:@\\(?:decl\\|elem\\|index\\|member\\)\\)\\)\\([^[:alnum:]_$]\\|$\\)") (defconst autodoc-decl-type-keywords "\\(\\(?:@\\(?:elem\\|member\\)\\)\\)\\([^[:alnum:]_$]\\|$\\)") (defalias 'autodoc-font-lock-line-markup #[(limit) "\306\307Q \nD\310\f \311#\203\362\312\225b\210\313!\203\310`\312\225\211 \314!\315` \316 $\210 S\"\315\"\211T\317\320$\210) b\210\314\210`!`Sf\321=\203\200m\204\200\314u\210\322\323!\210\313!\203\200\324\225b\210\325 !S\326#\210\315!S!\316 $\210` \202D\325 `Td^\326#\210b\210\310\327!\330#\203\242\315\324\224`\316\331$\210\202\216b\210\313#!\203\304\311\314\311$%&b\210\332 \210\333 \210\334 \210+,\202 \315`\314\210`\316 $\210`Sf\321=\203 m\204 \314u\210\322\323!\210\313!\203 \324\225b\210\202\310*\314\207" [c-current-comment-prefix c-doc-markup-face-name c-doc-face-name markup-faces line-re limit "^\\(\\(/\\*!\\|\\s *\\(" "\\)\\)\\s *\\)@[A-Za-z_-]+\\(\\s \\|$\\)" re-search-forward t 1 looking-at nil put-text-property face c-type c-decl-end 64 skip-syntax-forward " " 0 remove-text-properties (face nil) "\"\\([^\\\"]\\|\\\\.\\)*\"\\|'\\([^\\']\\|\\\\.\\)*'" move font-lock-string-face c-forward-sws c-forward-type c-fontify-recorded-types-and-refs autodoc-decl-keywords kwd-pos start pos end -pos- autodoc-decl-type-keywords c-promote-possible-types c-record-ref-identifiers c-record-type-identifiers] 6]) (defconst autodoc-font-lock-doc-comments (byte-code "\301\302\303BBB\304\305\306BE\207" [c-doc-markup-face-name "@\\(\\w+{\\|\\[\\([^]@\n ]\\|@@\\)*\\]\\|[@}]\\|$\\)" 0 (prepend nil) (autodoc-font-lock-line-markup) #[(limit) "\301\302\"\207" [limit c-find-invalid-doc-markup "@"] 3] (0 'font-lock-warning-face prepend nil)] 4)) (defalias 'autodoc-font-lock-keywords #[nil "\301\302CC\207" [c-type-decl-end-used t #[(limit) "\302\303 #\207" [limit autodoc-font-lock-doc-comments c-font-lock-doc-comments "/[*/]!"] 4]] 1]) (provide 'cc-fonts)