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
Viewing File: /usr/share/emacs/24.3/lisp/jit-lock.elc
;ELC ;;; Compiled by mockbuild@buildfarm01-new.corp.cloudlinux.com on Tue Nov 11 13:00:13 2025 ;;; from file /builddir/build/BUILD/emacs-24.3/lisp/jit-lock.el ;;; in Emacs version 24.3 ;;; 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\302\303\304\305\306\307&\210\310\311\312\313\314\315\306\301&\210\310\316\302\317\314\320\306\301&\210\310\321\322\323\314\324\306\301&\210\310\325\326\327\314\302\330\331\217\203<\332\202=\333\306\301&\210\310\334\302\335\314\336\306\301&\210\337\340\341\"\210\310\341\342\343\314\344\306\301&\210\310\345\346\347\314\350\306\301&\210\310\351\302\352\306\301\314\353&\207" [custom-declare-group jit-lock nil "Font Lock support mode to fontify just-in-time." :version "21.1" :group font-lock custom-declare-variable jit-lock-chunk-size 500 "Jit-lock fontifies chunks of at most this many characters at a time.\n\nThis variable controls both display-time and stealth fontification." :type integer jit-lock-stealth-time "Time in seconds to wait before beginning stealth fontification.\nStealth fontification occurs if there is no input within this time.\nIf nil, stealth fontification is never performed.\n\nThe value of this variable is used when JIT Lock mode is turned on." (choice (const :tag "never" nil) (number :tag "seconds" :value 16)) jit-lock-stealth-nice 0.5 "Time in seconds to pause between chunks of stealth fontification.\nEach iteration of stealth fontification is separated by this amount of time,\nthus reducing the demand that stealth fontification makes on the system.\nIf nil, means stealth fontification is never paused.\nTo reduce machine load during stealth fontification, at the cost of stealth\ntaking longer to fontify, you could increase the value of this variable.\nSee also `jit-lock-stealth-load'." (choice (const :tag "never" nil) (number :tag "seconds")) jit-lock-stealth-load (if (condition-case nil (load-average) (error)) 200) "Load in percentage above which stealth fontification is suspended.\nStealth fontification pauses when the system short-term load average (as\nreturned by the function `load-average' if supported) goes above this level,\nthus reducing the demand that stealth fontification makes on the system.\nIf nil, means stealth fontification is never suspended.\nTo reduce machine load during stealth fontification, at the cost of stealth\ntaking longer to fontify, you could reduce the value of this variable.\nSee also `jit-lock-stealth-nice'." (load-average) ((error)) (choice (const :tag "never" nil) (integer :tag "load")) (const :format "%t: unsupported\n" nil) jit-lock-stealth-verbose "If non-nil, means stealth fontification should show status messages." boolean defvaralias jit-lock-defer-contextually jit-lock-contextually 'syntax-driven "If non-nil, means fontification should be syntactically true.\nIf nil, means fontification occurs only on those lines modified. This\nmeans where modification on a line causes syntactic change on subsequent lines,\nthose subsequent lines are not refontified to reflect their new context.\nIf t, means fontification occurs on those lines modified and all\nsubsequent lines. This means those subsequent lines are refontified to reflect\ntheir new syntactic context, after `jit-lock-context-time' seconds.\nIf any other value, e.g., `syntax-driven', means syntactically true\nfontification occurs only if syntactic fontification is performed using the\nbuffer mode's syntax table, i.e., only if `font-lock-keywords-only' is nil.\n\nThe value of this variable is used when JIT Lock mode is turned on." (choice (const :tag "never" nil) (const :tag "always" t) (other :tag "syntax-driven" syntax-driven)) jit-lock-context-time 0.5 "Idle time after which text is contextually refontified, if applicable." (number :tag "seconds") jit-lock-defer-time "Idle time after which deferred fontification should take place.\nIf nil, fontification is not deferred." (choice (const :tag "never" nil) (number :tag "seconds"))] 8) #@49 Non-nil means Just-in-time Lock mode is active. (defvar jit-lock-mode nil (#$ . 4294)) (make-variable-buffer-local 'jit-lock-mode) #@123 Functions to do the actual fontification. They are called with two arguments: the START and END of the region to fontify. (defvar jit-lock-functions nil (#$ . 4432)) (make-variable-buffer-local 'jit-lock-functions) #@110 Consider text after this position as contextually unfontified. If nil, contextual fontification is disabled. (defvar jit-lock-context-unfontify-pos nil (#$ . 4654)) (make-variable-buffer-local 'jit-lock-context-unfontify-pos) #@60 Timer for stealth fontification in Just-in-time Lock mode. (defvar jit-lock-stealth-timer nil (#$ . 4886)) #@69 Timer for repeated stealth fontification in Just-in-time Lock mode. (defvar jit-lock-stealth-repeat-timer nil (#$ . 4999)) #@60 Timer for context fontification in Just-in-time Lock mode. (defvar jit-lock-context-timer nil (#$ . 5128)) #@61 Timer for deferred fontification in Just-in-time Lock mode. (defvar jit-lock-defer-timer nil (#$ . 5241)) #@54 List of buffers with pending deferred fontification. (defvar jit-lock-defer-buffers nil (#$ . 5353)) #@54 List of buffers that are being fontified stealthily. (defvar jit-lock-stealth-buffers nil (#$ . 5460)) #@1588 Toggle Just-in-time Lock mode. Turn Just-in-time Lock mode on if and only if ARG is non-nil. Enable it automatically by customizing group `font-lock'. When Just-in-time Lock mode is enabled, fontification is different in the following ways: - Demand-driven buffer fontification triggered by Emacs C code. This means initial fontification of the whole buffer does not occur. Instead, fontification occurs when necessary, such as when scrolling through the buffer would otherwise reveal unfontified areas. This is useful if buffer fontification is too slow for large buffers. - Stealthy buffer fontification if `jit-lock-stealth-time' is non-nil. This means remaining unfontified areas of buffers are fontified if Emacs has been idle for `jit-lock-stealth-time' seconds, while Emacs remains idle. This is useful if any buffer has any deferred fontification. - Deferred context fontification if `jit-lock-contextually' is non-nil. This means fontification updates the buffer corresponding to true syntactic context, after `jit-lock-context-time' seconds of Emacs idle time, while Emacs remains idle. Otherwise, fontification occurs on modified lines only, and subsequent lines can remain fontified corresponding to previous syntactic contexts. This is useful where strings or comments span lines. Stealth fontification only occurs while the system remains unloaded. If the system load rises above `jit-lock-stealth-load' percent, stealth fontification is suspended. Stealth fontification intensity is controlled via the variable `jit-lock-stealth-nice'. (defalias 'jit-lock-mode #[(arg) "\211\203j\306 \210\n\203 \204\307\n\310\311#\n\2032\f\2042\312\310\313\211\211\211\211\211\211\211& \314\f\311\315#\210 \203B\204B\307 \310\316#\310=\203^\204V\307\310\317#\206\\d\320\321\322\313\310$\210\320\323\324\"\207 \204x\204x\203\242\325\326\215\204\242 \203\210\327 !\210\313\203\225\327!\210\313\203\242\327!\210\313\330\321\322\310#\210\330\323\324\"\207" [arg jit-lock-mode jit-lock-stealth-time jit-lock-stealth-timer jit-lock-stealth-repeat-timer jit-lock-defer-time jit-lock-refontify run-with-idle-timer t jit-lock-stealth-fontify vector nil timer-set-function (t) jit-lock-deferred-fontify jit-lock-context-fontify add-hook after-change-functions jit-lock-after-change fontification-functions jit-lock-function found (byte-code "\303 \304\211\205\" @rq\210\n\203\305\306\307\"\210) A\211\204 \304*\207" [buf --dolist-tail-- jit-lock-mode buffer-list nil throw found t] 4) cancel-timer remove-hook jit-lock-defer-timer jit-lock-contextually jit-lock-context-timer jit-lock-context-time jit-lock-context-unfontify-pos] 11 (#$ . 5571)]) #@255 Register FUN as a fontification function to be called in this buffer. FUN will be called with two arguments START and END indicating the region that needs to be (re)fontified. If non-nil, CONTEXTUAL means that a contextual fontification would be useful. (defalias 'jit-lock-register #[(fun &optional contextual) "\303\304\305\306$\210 \203\n\203\307\302!\210\306\310\306!\207" [fun contextual jit-lock-contextually add-hook jit-lock-functions nil t make-local-variable jit-lock-mode] 5 (#$ . 8315)]) #@81 Unregister FUN as a fontification function. Only applies to the current buffer. (defalias 'jit-lock-unregister #[(fun) "\302\301\303#\210 ?\205\304\305!\207" [fun jit-lock-functions remove-hook t jit-lock-mode nil] 4 (#$ . 8827)]) #@70 Force refontification of the region BEG..END (default whole buffer). (defalias 'jit-lock-refontify #[(&optional beg end) "\306\307 \306\211\306\310\211\f\310 \311\216\214~\210\312\206e\206%d\313\310$.\n\207" [inhibit-point-motion-hooks #1=#:modified buffer-undo-list inhibit-read-only inhibit-modification-hooks deactivate-mark t buffer-modified-p nil ((byte-code "\204\301\302!\210\302\207" [#1# restore-buffer-modified-p nil] 2)) put-text-property fontified buffer-file-name buffer-file-truename beg end] 6 (#$ . 9067)]) #@136 Fontify current buffer starting at position START. This function is added to `fontification-functions' when `jit-lock-mode' is active. (defalias 'jit-lock-function #[(start) "\205J ?\205J\n\204\306 \211\f\\\"\207p >\204p B\307\310 \307\211\307\311\211\311\312\216\313 \314 \315\311d \f\\^$\315\316$. \207" [jit-lock-mode memory-full jit-lock-defer-timer start jit-lock-chunk-size jit-lock-defer-buffers jit-lock-fontify-now t buffer-modified-p nil ((byte-code "\204\301\302!\210\302\207" [#1=#:modified restore-buffer-modified-p nil] 2)) put-text-property next-single-property-change fontified defer inhibit-point-motion-hooks #1# buffer-undo-list inhibit-read-only inhibit-modification-hooks deactivate-mark buffer-file-name buffer-file-truename] 10 (#$ . 9615)]) #@100 Fontify current buffer from START to END. Defaults to the whole buffer. END can be out of bounds. (defalias 'jit-lock-fontify-now #[(&optional start end) "\306\307 \306\211\306\310\211\310\311\216\212\204e\203*d^\202+d\310\312 \313\216\205\270W\205\270\314\315\306$\206T\211b\210\316\317!b\210\316  \203\207 W\203\207 Y\203\207\320\321\"\204\207 \322\315\306$\210\323\324\325\217\210W\203\251\326\327\310\330p&\210\314\315\310$\211\204?\310.\207" [inhibit-point-motion-hooks #1=#:modified buffer-undo-list inhibit-read-only inhibit-modification-hooks deactivate-mark t buffer-modified-p nil ((byte-code "\204\301\302!\210\302\207" [#1# restore-buffer-modified-p nil] 2)) match-data ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) text-property-any fontified line-beginning-position 2 get-text-property jit-lock-defer-multiline put-text-property err (byte-code "\302\303 #\207" [start next run-hook-with-args jit-lock-functions] 4) ((quit (byte-code "\303 \304\305$\210\306\n@\nA\"\207" [start next err put-text-property fontified nil signal] 5))) run-with-timer 0 jit-lock-force-redisplay buffer-file-name buffer-file-truename start end next orig-start save-match-data-internal jit-lock-context-unfontify-pos] 8 (#$ . 10414)]) #@69 Force the display engine to re-render buffer BUF from START to END. (defalias 'jit-lock-force-redisplay #[(buf start end) "rq\210\306\307 \306\211\306\310\211\f \310\311\216\312\313\306$.\n\207" [buf inhibit-point-motion-hooks #1=#:modified buffer-undo-list inhibit-read-only inhibit-modification-hooks t buffer-modified-p nil ((byte-code "\204\301\302!\210\302\207" [#1# restore-buffer-modified-p nil] 2)) put-text-property fontified deactivate-mark buffer-file-name buffer-file-truename start end] 6 (#$ . 11784)]) #@121 Return the start of the next chunk to fontify around position AROUND. Value is nil if there is nothing more to fontify. (defalias 'jit-lock-stealth-chunk-start #[(around) "\306\307 !?\205o\214~\210\310d\311\312$\313\311\"\314eS]\311\"\n\2044 \312=?\205Ne\f\315\245Z]\202N \312=\203I\313\n\311\"\206Be\n\fZ]\202N\n\fZ]\211\204W \202n \204_ \202n Z ZW\203m \202n -\207" [around next prev prop jit-lock-chunk-size start zerop buffer-size text-property-not-all fontified t previous-single-property-change get-text-property 2] 6 (#$ . 12325)]) (put 'jit-lock-stealth-chunk-start 'byte-optimizer 'byte-compile-inline-expand) #@218 Fontify buffers stealthily. This function is called repeatedly after Emacs has become idle for `jit-lock-stealth-time' seconds. Optional argument REPEAT is expected non-nil in a repeated invocation of this function. (defalias 'jit-lock-stealth-fontify #[(&optional repeat) "\204\306 !\210\n\206$ \206$\307\310 !\206$\203\f\202#\311 \211??\205>\f@\312\313\211\211!\"#$%\203L\314 @%V\203L&#\202)\315$!\203&r$q\210'\203`(\316\317 !?\205\346\214~\210\320(d\321\322$)\323(\321\"*\324e(S]\321\"+*\204\236+\322=?\205\277e(,\325\245Z]\202\277+\322=\203\267\323*\321\"\206\256e*,Z]\202\277*(,Z]\211\204\311)\202\345)\204\322 \202\345( Z)(ZW\203\343 \202\345)-)\211\203-\205\365\326\327 P\313./\330\216/\203 \331 .\332\333/\"\210\334 \211,\\\"\2100\206\312#+\202\"\fA)\202)\fA\f\205=\335 \336 \"\210\337 #\"\210\340 \322\"-\207" [repeat jit-lock-stealth-repeat-timer executing-kbd-macro memory-full jit-lock-stealth-buffers start cancel-timer window-minibuffer-p selected-window buffer-list 0 nil load-average buffer-live-p zerop buffer-size text-property-not-all fontified t previous-single-property-change get-text-property 2 "JIT stealth lock " buffer-name ((byte-code "\203 \203\302\303 \"\210\202\302\304!\210\304\207" [#1=#:with-temp-message #2=#:current-message message #3="%s" nil] 3)) current-message message #3# jit-lock-fontify-now timer-set-idle-time current-idle-time timer-inc-time timer-activate-when-idle message-log-max minibuffer-auto-raise delay buffer jit-lock-stealth-load jit-lock-stealth-time jit-lock-mode around next prev prop jit-lock-chunk-size jit-lock-stealth-verbose #2# #1# jit-lock-stealth-nice] 5 (#$ . 12975)]) #@28 Fontify what was deferred. (defalias 'jit-lock-deferred-fontify #[nil "\205s ?\205s\306\211\203i @\307\n!\203br\nq\210\310\311 \310\211\310\306\211\306\312\216e\313\314\"\315=\203U\316\317\314\306d$\211\314\306$\210\317\314\"\211\204:. A\211\204*\306\211\320\321!)\207" [jit-lock-defer-buffers memory-full buffer --dolist-tail-- inhibit-point-motion-hooks #1=#:modified nil buffer-live-p t buffer-modified-p ((byte-code "\204\301\302!\210\302\207" [#1# restore-buffer-modified-p nil] 2)) get-text-property fontified defer put-text-property next-single-property-change sit-for 0 buffer-undo-list inhibit-read-only inhibit-modification-hooks deactivate-mark buffer-file-name buffer-file-truename pos jit-lock-defer-timer] 8 (#$ . 14714)]) #@57 Refresh fontification to take new context into account. (defalias 'jit-lock-context-fontify #[nil "?\205f\306 \307\211\205e\n@r q\210 \203\\\214~\210 eY\203[ dW\203[\310 \311\"\2038\312 \311\"\2067e\313\314 \313\211\313\307\211\307\315\216\316 d\317#\210. d))\nA\211\204\307*\207" [memory-full buffer --dolist-tail-- jit-lock-context-unfontify-pos inhibit-point-motion-hooks #1=#:modified buffer-list nil get-text-property jit-lock-defer-multiline previous-single-property-change t buffer-modified-p ((byte-code "\204\301\302!\210\302\207" [#1# restore-buffer-modified-p nil] 2)) remove-text-properties (fontified nil jit-lock-defer-multiline nil) buffer-undo-list inhibit-read-only inhibit-modification-hooks deactivate-mark buffer-file-name buffer-file-truename] 5 (#$ . 15506)]) #@611 Hook that can extend the text to refontify after a change. This is run after every buffer change. The functions are called with the three arguments of `after-change-functions': START END OLD-LEN. The extended region to refontify is returned indirectly by modifying the variables `jit-lock-start' and `jit-lock-end'. Note that extending the region this way is not strictly necessary, except that the nature of the redisplay code tends to otherwise leave some of the rehighlighted text displayed with the old highlight until the next redisplay (see comment about repeated redisplay in `jit-lock-fontify-now'). (defvar jit-lock-after-change-extend-region-functions nil (#$ . 16328)) #@382 Mark the rest of the buffer as not fontified after a change. Installed on `after-change-functions'. START and END are the start and end of the changed text. OLD-LEN is the pre-change length. This function ensures that lines following the change will be refontified in case the syntax of those lines has changed. Refontification will take place when text is fontified stealthily. (defalias 'jit-lock-after-change #[(start end old-len) "\205M ?\205M\n \306\307 \306\211\306\310\211\310\311\216\312\313\n $\210\f\nT]d^\314 \f\315\310$\210. \205L ^\211*\207" [jit-lock-mode memory-full start end jit-lock-end jit-lock-start t buffer-modified-p nil ((byte-code "\204\301\302!\210\302\207" [#1=#:modified restore-buffer-modified-p nil] 2)) run-hook-with-args jit-lock-after-change-extend-region-functions put-text-property fontified inhibit-point-motion-hooks #1# buffer-undo-list inhibit-read-only inhibit-modification-hooks deactivate-mark buffer-file-name buffer-file-truename old-len jit-lock-context-unfontify-pos] 6 (#$ . 17017)]) (provide 'jit-lock)