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/icon.elc
;ELC ;;; Compiled by mockbuild@buildfarm01-new.corp.cloudlinux.com on Tue Nov 11 12:53:37 2025 ;;; from file /builddir/build/BUILD/emacs-24.3/lisp/progmodes/icon.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. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; #@43 Abbrev table in use in Icon-mode buffers. (defvar icon-mode-abbrev-table nil (#$ . 557)) (define-abbrev-table 'icon-mode-abbrev-table nil) #@27 Keymap used in Icon mode. (defvar icon-mode-map nil (#$ . 702)) (byte-code "\204v\302\303!\302 \304\305\306#\210\304\307\306#\210\304\310\311#\210\304\312\313#\210\304\314\315#\210\304\316\317#\210\304\320\321#\210\304\322\302\303!#\210\304\323\303 B#\210\304 \324\325#\210\304 \326\327#\210\304 \330\331#\210\304 \332\333#\210\304 \334\335#\210\336\337\340\341#\210\336\342\340\341#\210\336\343\340\341#\210)\302\207" [icon-mode-map map make-sparse-keymap "Icon" define-key "{" electric-icon-brace "}" "" mark-icon-function "" beginning-of-icon-defun "" end-of-icon-defun "" indent-icon-exp "" backward-delete-char-untabify [menu-bar] [menu-bar icon] [beginning-of-icon-defun] ("Beginning of function" . beginning-of-icon-defun) [end-of-icon-defun] ("End of function" . end-of-icon-defun) [comment-region] ("Comment Out Region" . comment-region) [indent-region] ("Indent Region" . indent-region) [indent-line] ("Indent Line" . icon-indent-command) put eval-region menu-enable mark-active comment-region indent-region] 5) #@43 Syntax table in use in Icon-mode buffers. (defvar icon-mode-syntax-table nil (#$ . 1752)) (byte-code "\204a\301 \302\303\304#\210\302\305\306#\210\302\307\310#\210\302\311\312#\210\302\313\312#\210\302\314\312#\210\302\315\312#\210\302\316\312#\210\302\317\312#\210\302\320\312#\210\302\321\312#\210\302\322\312#\210\302\323\312#\210\302\324\312#\210\302\325\326#\210\327\330\331\332\333\334\335\336&\210\337\340\341\342\343\344\335\330&\210\337\345\346\347\343\344\335\330&\210\337\350\346\351\343\344\335\330&\210\337\352\341\353\343\344\335\330&\210\337\354\346\355\343\344\335\330&\210\337\356\331\357\343\360\335\330&\210\337\361\362\363\343\360\335\330&\207" [icon-mode-syntax-table make-syntax-table modify-syntax-entry 92 "\\" 35 "<" 10 ">" 36 "." 47 42 43 45 61 37 60 62 38 124 39 "\"" custom-declare-group icon nil "Mode for editing Icon code." :link (custom-group-link :tag "Font Lock Faces group" font-lock-faces) :group languages custom-declare-variable icon-indent-level 4 "Indentation of Icon statements with respect to containing block." :type integer icon-brace-imaginary-offset 0 "Imagined indentation of a Icon open brace that actually follows a statement." icon-brace-offset "Extra indentation for braces, compared with other text in same context." icon-continued-statement-offset "Extra indent for Icon lines not starting new statements." icon-continued-brace-offset "Extra indent for Icon substatements that start with open-braces.\nThis is in addition to `icon-continued-statement-offset'." icon-auto-newline "Non-nil means automatically newline before and after braces Icon code.\nThis applies when braces are inserted." boolean icon-tab-always-indent t "Non-nil means TAB in Icon mode should always reindent the current line.\nIt will then reindent, regardless of where in the line point is\nwhen the TAB command is used."] 8) #@66 Imenu expression for Icon mode. See `imenu-generic-expression'. (defvar icon-imenu-generic-expression '((nil "^[ ]*procedure[ ]+\\(\\sw+\\)[ ]*(" 1)) (#$ . 3636)) (byte-code "\300\301N\204\302\300\301\303\304!#\210\305\306!\204\302\306\307\310#\210\300\207" [icon-mode-hook variable-documentation put purecopy "Hook run when entering Icon mode.\nNo problems result if this variable is not bound.\n`add-hook' automatically binds it. (This is true for all hook variables.)" boundp icon-mode-map definition-name icon-mode] 5) (defvar icon-mode-map (make-sparse-keymap)) (byte-code "\300\301N\204\302\300\301\303\304!#\210\305\306!\204\302\306\307\310#\210\300\207" [icon-mode-map variable-documentation put purecopy "Keymap for `icon-mode'." boundp icon-mode-syntax-table definition-name icon-mode] 5) (defvar icon-mode-syntax-table (make-syntax-table)) (byte-code "\300\301N\204\302\300\301\303\304!#\210\302\305\306\307#\207" [icon-mode-syntax-table variable-documentation put purecopy "Syntax table for `icon-mode'." icon-mode derived-mode-parent prog-mode] 5) #@1381 Major mode for editing Icon code. Expression and list commands understand all Icon brackets. Tab indents for Icon code. Paragraphs are separated by blank lines only. Delete converts tabs to spaces as it moves back. \{icon-mode-map} Variables controlling indentation style: icon-tab-always-indent Non-nil means TAB in Icon mode should always reindent the current line, regardless of where in the line point is when the TAB command is used. icon-auto-newline Non-nil means automatically newline before and after braces inserted in Icon code. icon-indent-level Indentation of Icon statements within surrounding block. The surrounding block's indentation is the indentation of the line on which the open-brace appears. icon-continued-statement-offset Extra indentation given to a substatement, such as the then-clause of an if or body of a while. icon-continued-brace-offset Extra indentation given to a brace that starts a substatement. This is in addition to `icon-continued-statement-offset'. icon-brace-offset Extra indentation for line if it starts with an open brace. icon-brace-imaginary-offset An open brace following other text is treated as if it were this far to the right of the start of its line. Turning on Icon mode calls the value of the variable `icon-mode-hook' with no args, if that value is non-nil. (defalias 'icon-mode #[nil "\306\300!\210\307\310 \210\311\312\310\313N\203\314\311\313\310\313N#\210\315 !\204'\316 \317 \"\210\320\f!\211\2036 \321 =\203<\322\f\323 \"\210)\324 !\210\325\f!\210)*\306\326!\210\327+P\306\330!\210\306\331!\210\332\306\333!\210\334\306\335!\210\336\306\337!\210\340\306\341!\210\342!\306\331!\210\332\306\343!\210\344#\306\345!\210,%\311-\236\204\241\346-B-)\347\350!\207" [delay-mode-hooks major-mode mode-name icon-mode-map icon-mode-syntax-table parent make-local-variable t prog-mode icon-mode "Icon" mode-class put keymap-parent set-keymap-parent current-local-map char-table-parent standard-syntax-table set-char-table-parent syntax-table use-local-map set-syntax-table paragraph-start "$\\|" paragraph-separate indent-line-function icon-indent-line comment-start "# " comment-end "" comment-start-skip "# *" comment-indent-function icon-comment-indent font-lock-defaults ((icon-font-lock-keywords icon-font-lock-keywords-1 icon-font-lock-keywords-2) nil nil ((95 . "w")) beginning-of-defun (font-lock-mark-block-function . mark-defun)) imenu-generic-expression (icon-mode "\\<procedure\\>" "\\<end\\>" nil icon-forward-sexp-function) run-mode-hooks icon-mode-hook icon-mode-abbrev-table local-abbrev-table page-delimiter icon-imenu-generic-expression hs-special-modes-alist] 6 (#$ . 4720) nil]) (defalias 'icon-comment-indent #[nil "\301\302!\203\303\207\207" [comment-column looking-at "^#" 0] 2]) #@50 Insert character and correct line's indentation. (defalias 'electric-icon-brace #[(arg) "\304 \204@l\203@\212\305\304x\210n)\204\n\203@\306 \210\307 \210 c\210\306 \210\n\2032\307 \210`\310Z\306 \210\212\203;Tb\210\311\312!\210)\203Q\212b\210\313\314 !!)\202V\313\314 !!)\207" [insertpos arg icon-auto-newline last-command-event nil " " icon-indent-line newline 2 delete-char -1 self-insert-command prefix-numeric-value] 3 (#$ . 7583) "P"]) #@524 Indent current line as Icon code, or in some cases insert a tab character. If `icon-tab-always-indent' is non-nil (the default), always indent current line. Otherwise, indent the current line only if point is at the left margin or in the line's indentation; otherwise insert a tab. A numeric argument, regardless of its value, means indent rigidly all the lines of the expression starting after point so that this line becomes properly indented. The relative indentation among the lines of the expression are preserved. (defalias 'icon-indent-command #[(&optional whole-exp) "\2032\305 \306\211\212\f\203\307 \210`\310\311!\210`\nb\210\311y\210`) \nV\2050\312\n \313$+\207\f\204C\212\314\306x\210n)\204C\315 \207\305 \207" [whole-exp end beg shift-amt icon-tab-always-indent icon-indent-line nil beginning-of-line forward-sexp 1 indent-code-rigidly "#" " " insert-tab] 5 (#$ . 8047) "P"]) #@81 Indent current line as Icon code. Return the amount the indentation changed by. (defalias 'icon-indent-line #[nil "\306\307!\307\211\211d`Z\310 \210`\f\307=\203\311 \202k\312\313!\203*\314\202k\315\307w\210\f<\2036\f@\312\316!\203M\312\317!\204M\212\320 \210\311 )\202kg\321U\204Y\312\322!\203`\f Z\202kg\323U\203k\f\\\315\307w\210\fiZ\324\n!\203\211dZ`V\203\235dZb\210\202\235 `|\210\fj\210dZ`V\203\235dZb\210\n-\207" [pos case-fold-search shift-amt beg indent icon-indent-level calculate-icon-indent nil beginning-of-line current-indentation looking-at "^#" 0 " " "else\\b" "else\\s_" icon-backward-to-start-of-if 125 "end\\b" 123 zerop icon-brace-offset] 6 (#$ . 8960)]) #@185 Return appropriate indentation for current line as Icon code. In usual case returns an integer: the column to indent to. Returns nil if line starts inside a string, t if in a comment. (defalias 'calculate-icon-indent #[(&optional parse-start) "\212\306 \210`\307\211\211\211 \203 b\210\202\310 `\fW\2030`\311`\f\312#\211A@\202\313\n8\204<\314\n8\203B\314\n8\202\367 \203U f\315U\204U Tb\210i\202\367\203k\316e!\210\317 \203g\202\367\312\202\367 \204t\310 \210`\fb\210\316 !\210\317 \203\241\320 !\210\321i\212\fb\210\322\307w\210g)\315=\203\234\202\235\312#\202\367 b\210\212\323\324!\203\262\325\313!\210\202\265\326u\210\327\307w\210\323\330!\203\305\326y\210\202\265`\fW\205\314i)\206\367\321n\203\344\331!\203\344\\\202\346\322\307x\210n\203\362\312\202\364\332 #.\207" [toplevel containing-sexp state case-fold-search indent-point parse-start beginning-of-line nil beginning-of-icon-defun parse-partial-sexp 0 3 4 123 icon-backward-to-noncomment icon-is-continuation-line icon-backward-to-start-of-continued-exp + " " looking-at "procedure\\s " forward-sexp 1 " \n" "#" zerop current-indentation icon-continued-statement-offset icon-continued-brace-offset icon-indent-level icon-brace-offset icon-brace-imaginary-offset] 6 (#$ . 9678)]) (defconst icon-resword-alist '(("by" . t) ("case" . t) ("create") ("do") ("dynamic" . t) ("else") ("every" . t) ("if" . t) ("global" . t) ("initial" . t) ("link" . t) ("local" . t) ("of") ("record" . t) ("repeat" . t) ("static" . t) ("then") ("to" . t) ("until" . t) ("while" . t))) (defalias 'icon-is-continuation-line #[nil "h\211z\211\303=\203\304\305v\210`\306v\210`{\n\"\202\307>?*\207" [ch ch-syntax icon-resword-alist 119 assoc -1 1 (0 59 125 123 41 93 34 39 35 44 46 10)] 4]) (defalias 'icon-backward-to-noncomment #[(lim) "\303\211?\205.\304\nx\210`\305 \210\306\307` \"8\203(\n`W\203(\310\311!\210\202\312\211\202*\207" [stop opoint lim nil " \n\f" beginning-of-line 5 parse-partial-sexp search-backward "#" t] 5]) (defalias 'icon-backward-to-start-of-continued-exp #[(lim) "h\302>\203\n\303\304!\210\305 \210\306\307w\210`X\203Tb\207\310 \204\"\311\207gz\312=\203:\313`\212\314v\210`){ \"A\203:\311\207\311\210\315!\207" [lim icon-resword-alist (41 93) forward-sexp -1 beginning-of-line " " nil icon-is-continued-line 0 119 assoc 1 icon-backward-to-start-of-continued-exp] 3]) (defalias 'icon-is-continued-line #[nil "\212\300\210\301 )\207" [0 icon-is-continuation-line] 1]) #@48 Move to the start of the last "unbalanced" if. (defalias 'icon-backward-to-start-of-if #[(&optional limit) "\204 \212\303 \210`)\304\305\306\n!?\205@\307\304!\210\310\311!\203&\nT\202\310\312!\2032\nS\202`W\203\313b\210\202*\207" [limit case-fold-search if-level beginning-of-icon-defun 1 nil zerop backward-sexp looking-at "else\\b" "if\\b" 0] 2 (#$ . 12208)]) #@55 Put mark at end of Icon function, point at beginning. (defalias 'mark-icon-function #[nil "\300`!\210\301 \210\300`!\210\302\303!\210\304 \207" [push-mark end-of-icon-defun beginning-of-line 0 beginning-of-icon-defun] 2 (#$ . 12597) nil]) #@71 Go to the start of the enclosing procedure; return t if at top level. (defalias 'beginning-of-icon-defun #[nil "\300\301e\302#\203\f\303\304!\207\305\207" [re-search-backward "^procedure\\s \\|^end[ \n]" move looking-at "e" t] 4 (#$ . 12842) nil]) (defalias 'end-of-icon-defun #[nil "o\204\300u\210\301\302d\303#\210\300v\210\304y\207" [-1 re-search-forward "\\(\\s \\|^\\)end\\(\\s \\|$\\)" move 1] 4 nil nil]) #@56 Indent each line of the Icon grouping following point. (defalias 'indent-icon-exp #[nil "\306C`C\306\211\211\211\211\211\211\211\211`\307!\"#$%&'\212\310\311!\210)\212\306$m?\205\234$?\205\234\306##\204m\203M\312\211$\204\"!\313`\306\210`\306\211\"%\211\"@\314!8\203k\315 \210\316\"8\203x\311y\210\202=\312\211#\203B\307X\203\210\312$$\204-\fV\203\244'A'&A&\fS\211\202\216\fW\203\275\306'B'\306&B&\fT\211\202\245&@\204\325&\"A@\206\323\212\310\317!\210`)\240\210\311y\210\320\306w\210l\204-'@\203?'@\307Y\203?&@f\321U\204\376'@\202V\212\322\323!g\321U\324 !\210\325 \203)\326&@!\210\327(i\n\203#)\202$\307#\202; \2037\330 !\210\331 \202;'@)\202V\332'@\205J'@[!*'*\211\240\210)g\333U\204b\322\334!\203g +Zg\321U\203r ,\\i U\204\202`\335 \210`|\210 j\210\322-!\204-\336-\337 \312#\203-\340 \210\335 \210\202-.\207" [next-depth opoint at-brace at-else last-depth this-indent nil 0 forward-sexp 1 t parse-partial-sexp 4 icon-indent-line 3 -1 " " 123 looking-at "else\\W" icon-backward-to-noncomment icon-is-continuation-line icon-backward-to-start-of-continued-exp + icon-backward-to-start-of-if current-indentation calculate-icon-indent 125 "end\\b" beginning-of-line re-search-forward line-end-position indent-for-comment ostate state inner-loop-done outer-loop-done case-fold-search contain-stack indent-stack icon-continued-statement-offset icon-continued-brace-offset val icon-indent-level icon-brace-offset comment-start-skip] 14 (#$ . 13264) nil]) #@43 Subdued level highlighting for Icon mode. (defconst icon-font-lock-keywords-1 '(("^[ ]*\\(procedure\\)\\>[ ]*\\(\\sw+\\)?" (1 font-lock-builtin-face) (2 font-lock-function-name-face nil t))) (#$ . 14835)) #@41 Gaudy level highlighting for Icon mode. (defconst icon-font-lock-keywords-2 (append icon-font-lock-keywords-1 '(("\\<\\(c\\(?:o-expression\\|set\\)\\|file\\|integer\\|list\\|null\\|real\\|s\\(?:et\\|tring\\)\\|table\\)\\>" . font-lock-type-face) ("\\<\\(b\\(?:reak\\|y\\)\\|c\\(?:\\(?:as\\|reat\\)e\\)\\|d\\(?:efault\\|o\\)\\|e\\(?:lse\\|very\\)\\|fail\\|if\\|n\\(?:\\(?:ex\\|o\\)t\\)\\|of\\|re\\(?:cord\\|peat\\|turn\\)\\|suspend\\|t\\(?:hen\\|o\\)\\|until\\|while\\)\\>" . font-lock-keyword-face) ("\\<\\(end\\|initial\\)\\>" . font-lock-builtin-face) ("\\(&\\(?:a\\(?:llocated\\|scii\\)\\|c\\(?:lock\\|o\\(?:l\\(?:lections\\|umn\\)?\\|ntrol\\)\\|\\(?:se\\|urren\\)t\\)\\|d\\(?:ate\\(?:line\\)?\\|igits\\|ump\\)\\|e\\(?:rro\\(?:r\\(?:number\\|text\\|value\\)?\\|ut\\)\\|vent\\(?:\\(?:cod\\|sourc\\|valu\\)e\\)\\)\\|f\\(?:ail\\|eatures\\|ile\\)\\|host\\|in\\(?:put\\|terval\\)\\|l\\(?:case\\|drag\\|e\\(?:tters\\|vel\\)\\|ine\\|press\\|release\\)\\|m\\(?:ain\\|drag\\|eta\\|press\\|release\\)\\|null\\|output\\|p\\(?:hi\\|i\\|os\\|rogname\\)\\|r\\(?:andom\\|drag\\|e\\(?:gions\\|size\\)\\|ow\\|press\\|release\\)\\|s\\(?:hift\\|ource\\|torage\\|ubject\\)\\|t\\(?:\\(?:im\\|rac\\)e\\)\\|ucase\\|version\\|window\\|[exy]\\)\\)" . font-lock-constant-face) ("^[ ]*\\(global\\|l\\(?:ink\\|ocal\\)\\|static\\)\\(\\sw+\\>\\)*" (1 font-lock-builtin-face) (font-lock-match-c-style-declaration-item-and-skip-to-next (goto-char (or (match-beginning 2) (match-end 1))) nil (1 (if (match-beginning 2) font-lock-function-name-face font-lock-variable-name-face)))) ("^\\(\\$\\(?:define\\|\\(?:eli\\|\\(?:ifn?\\|un\\)de\\)f\\)\\)\\>[ ]*\\([^ \n]+\\)?" (1 font-lock-builtin-face) (4 font-lock-variable-name-face nil t)) ("^\\(\\$\\(?:dump\\|e\\(?:lse\\|ndif\\)\\|include\\)\\)\\>" . font-lock-builtin-face) ("^\\(\\$\\(?:error\\|warning\\)\\)\\>[ ]*\\(.+\\)?" (1 font-lock-builtin-face) (3 font-lock-warning-face nil t)))) (#$ . 15048)) #@50 Default expressions to highlight in `icon-mode'. (defvar icon-font-lock-keywords icon-font-lock-keywords-1 (#$ . 16979)) (defalias 'icon-forward-sexp-function #[(arg) "\301W\203 \302 \207\303 \210\304u\207" [arg 0 beginning-of-icon-defun end-of-icon-defun -1] 2]) (provide 'icon)