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/completion.elc
;ELC ;;; Compiled by mockbuild@buildfarm01-new.corp.cloudlinux.com on Tue Nov 11 12:48:04 2025 ;;; from file /builddir/build/BUILD/emacs-24.3/lisp/completion.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\302\303\304\305\304\306&\210\307\310\311\312\313\314\304\301&\210\307\315\311\316\313\314\304\301&\210\307\317\320\321\313\322\304\301&\210\307\323\324\325\313\326\304\301&\210\307\327\302\330\313\314\304\301&\210\307\331\332\333\313\326\304\301&\210\307\334\335\336\313\326\304\301&\210\307\337\302\340\313\314\304\301&\210\307\341\342\343\313\326\304\301&\210\307\344\345\346\313\347\304\301&\207" [custom-declare-group completion nil "Dynamic word-completion code." :group matching convenience custom-declare-variable enable-completion t "Non-nil means enable recording and saving of completions.\nIf nil, no new words are added to the database or saved to the init file." :type boolean save-completions-flag "Non-nil means save most-used completions when exiting Emacs.\nSee also `save-completions-retention-time'." save-completions-file-name (locate-user-emacs-file "completions" ".completions") "The filename to save completions to." file save-completions-retention-time 336 "Discard a completion if unused for this many hours.\n(1 day = 24, 1 week = 168). If this is 0, non-permanent completions\nwill not be saved unless these are used. Default is two weeks." integer completion-on-separator-character "Non-nil means separator characters mark previous word as used.\nThis means the word will be saved as a completion." completions-file-versions-kept kept-new-versions "Number of versions to keep for the saved completions file." completion-prompt-speed-threshold 4800 "Minimum output speed at which to display next potential completion." completion-cdabbrev-prompt-flag "If non-nil, the next completion prompt does a cdabbrev search.\nThis can be time consuming." completion-search-distance 15000 "How far to search in the buffer when looking for completions.\nIn number of characters. If nil, search the whole buffer." completions-merging-modes '(lisp c) "List of modes {`c' or `lisp'} for automatic completions merging.\nDefinitions from visited files which have these modes\nare automatically added to the completion database." (set (const lisp) (const c))] 8) #@104 The minimum length of a stored completion. DON'T CHANGE WITHOUT RECOMPILING ! This is used by macros. (defvar completion-min-length 6 (#$ . 2661)) #@104 The maximum length of a stored completion. DON'T CHANGE WITHOUT RECOMPILING ! This is used by macros. (defvar completion-max-length 200 (#$ . 2816)) #@111 The minimum length of a completion search string. DON'T CHANGE WITHOUT RECOMPILING ! This is used by macros. (defvar completion-prefix-min-length 3 (#$ . 2973)) #@110 Set to t when the completion system is initialized. Indicates that the old completion file has been read in. (defvar cmpl-initialized-p nil (#$ . 3142)) #@105 Set to t as soon as the first completion has been accepted. Used to decide whether to save completions. (defvar cmpl-completions-accepted-p nil (#$ . 3302)) #@74 Return :capitalized, :up, :down, :mixed, or :neither for case of STRING. (defalias 'cmpl-string-case-type #[(string) "\302\303\304 \"\203+\303\305 \"\203' G\306V\203#\303\305 \306#\204#\307\2027\310\2027\311\2027\303\305 \"\2036\312\2027\313)\207" [case-fold-search string nil string-match "[[:lower:]]" "[[:upper:]]" 1 :capitalized :mixed :down :up :neither] 4 (#$ . 3465)]) (defalias 'cmpl-coerce-string-case #[(string case-type) "\302=\203 \227\207\303=\203 \226\207\304=\203' \227\211\305\306 \305H\307\"I\210 \207 \207" [case-type string :down :up :capitalized 0 logand 223] 6]) (defalias 'cmpl-merge-string-cases #[(string-to-coerce given-string) "\303!\211\304>\203\305\303\n!\"\202)\207" [string-to-coerce string-case-type given-string cmpl-string-case-type (:down :up :capitalized) cmpl-coerce-string-case] 5]) (defalias 'cmpl-hours-since-origin #[nil "\301 \302\303@_A@\\\304\")\207" [time current-time floor 65536.0 3600] 3]) (defconst completion-standard-syntax-table (byte-code "\306 \307\310\211\311W\203\312\313 #\210T\211\202\310\211\314W\2039\312\315\\\316 #\210\312\317\\\316 #\210T\211\202\310\211\320W\203P\312\321\\\316 #\210T\211\202<\322\323\211\307\211\203l @\312\f\316 #\210 A\211\204\\*\n\307\211\203\205 @\312\f\324 #\210 A\211\204u, *\207" [i table symbol-chars-ignore symbol-chars char --dolist-tail-- make-syntax-table nil 0 256 modify-syntax-entry " " 26 97 "_" 65 10 48 (64 47 92 42 43 126 36 60 62 37) (95 45 58 46) "w"] 5)) #@58 This variable holds the current completion syntax table. (defvar completion-syntax-table completion-standard-syntax-table (#$ . 4997)) (make-variable-buffer-local 'completion-syntax-table) #@72 Holds first character of symbol, after any completion symbol function. (defvar cmpl-symbol-start nil (#$ . 5192)) #@71 Holds last character of symbol, after any completion symbol function. (defvar cmpl-symbol-end nil (#$ . 5312)) #@106 Return the symbol that the point is currently on. But only if it is longer than `completion-min-length'. (defalias 'symbol-under-point #[nil "\306 p\307\216\310\n!\210gz\311>\205]`\312 T\313\"\312 \314\"\ffz\315U\2032\fb\210\314v\210` b\210 Sfz\315U\203F b\210\313v\210` b\210 \fZX\205\\ \fZX\205\\\316\f \")+\207" [#1=#:buffer #2=#:table completion-syntax-table saved-point cmpl-symbol-start cmpl-symbol-end syntax-table ((byte-code "rq\210\302 !\210)\302\207" [#1# #2# set-syntax-table] 2)) set-syntax-table (119 95) scan-sexps -1 1 119 buffer-substring-no-properties completion-min-length completion-max-length] 3 (#$ . 5430)]) #@125 Return a string of the symbol immediately before point. Returns nil if there isn't one longer than `completion-min-length'. (defalias 'symbol-before-point #[nil "\306 p\307\216\310\n!\210hz\211\311U\203>`\312\f\313\"\211fz\314U\203. b\210\315v\210`\fb\210\f \\Y\205}\316 \f\"\202} \314U\205}`\312\313\"\313v\210` fz\314U\203b b\210\315v\210`b\210\f ZX\205|\f ZX\205|\316 \f\")+\207" [#1=#:buffer #2=#:table completion-syntax-table cmpl-preceding-syntax cmpl-symbol-end cmpl-symbol-start syntax-table ((byte-code "rq\210\302 !\210)\302\207" [#1# #2# set-syntax-table] 2)) set-syntax-table 95 scan-sexps -1 119 1 buffer-substring-no-properties completion-min-length saved-point completion-max-length] 4 (#$ . 6085)]) (defalias 'symbol-under-or-before-point #[nil "\303 p\304\216\305\n!\210gz+\306>\203\307 \207\310 \207" [#1=#:buffer #2=#:table completion-syntax-table syntax-table ((byte-code "rq\210\302 !\210)\302\207" [#1# #2# set-syntax-table] 2)) set-syntax-table (119 95) symbol-under-point symbol-before-point] 2]) (defalias 'symbol-before-point-for-complete #[nil "\306 p\307\216\310\n!\210hz\211\311>\205D`\312\f\313\"\211fz\314U\203. b\210\315v\210`\fb\210\f ZX\205D\f ZX\205D\316 \f\"+\207" [#1=#:buffer #2=#:table completion-syntax-table cmpl-preceding-syntax cmpl-symbol-end cmpl-symbol-start syntax-table ((byte-code "rq\210\302 !\210)\302\207" [#1# #2# set-syntax-table] 2)) set-syntax-table (95 119) scan-sexps -1 119 1 buffer-substring-no-properties completion-prefix-min-length completion-max-length] 4]) (defalias 'cmpl-statistics-block '(macro . #[(&rest _body) "\300\207" [nil] 1])) (defconst cmpl-source-unknown 0) (defconst cmpl-source-init-file 1) (defconst cmpl-source-file-parsing 2) (defconst cmpl-source-separator 3) (defconst cmpl-source-cursor-moves 4) (defconst cmpl-source-interactive 5) (defconst cmpl-source-cdabbrev 6) (defconst num-cmpl-sources 7) (defvar current-completion-source cmpl-source-unknown) (defvar cdabbrev-completions-tried nil) (defvar cdabbrev-current-point 0) (defvar cdabbrev-current-window nil) (defvar cdabbrev-wrapped-p nil) (defvar cdabbrev-abbrev-string "") (defvar cdabbrev-start-point 0) #@142 Reset the cdabbrev search to search for ABBREV-STRING. INITIAL-COMPLETIONS-TRIED is a list of downcased strings to ignore during the search. (defalias 'reset-cdabbrev #[(abbrev-string &optional initial-completions-tried) "\227\nB\304\305!\207" [abbrev-string cdabbrev-abbrev-string initial-completions-tried cdabbrev-completions-tried reset-cdabbrev-window t] 2 (#$ . 8290)]) (defalias 'set-cdabbrev-buffer #[nil "\301=\203 \302 \202\303!q\207" [cdabbrev-current-window t other-buffer window-buffer] 2]) #@56 Reset the cdabbrev search to search for abbrev-string. (defalias 'reset-cdabbrev-window #[(&optional initializep) "\203\n\306 \202& \307=\203\310\202& \203&\311 !\211\306 =\203&\307 \205E\212\312 \210`\211\f\203>e \fZ]\202?e\310\211 )\207" [initializep cdabbrev-current-window cdabbrev-current-point cdabbrev-start-point completion-search-distance cdabbrev-stop-point selected-window t nil next-window set-cdabbrev-buffer cdabbrev-wrapped-p] 4 (#$ . 8809)]) #@159 Return the next possible cdabbrev expansion or nil if there isn't one. `reset-cdabbrev' must've been called already. This is sensitive to `case-fold-search'. (defalias 'next-cdabbrev #[nil "\205\272\306\211\211\211\211\211\211\212\307\216\310 \210`\311 \312!\210b\210\313\314#\203\200hz\211\315U\204R\n\316U\205|`\317v\210hz\315U b\210\205|\320 \211\205| \227 \203q\f @\230\204q A\211\204c \203{\306\211\202|\314?\202\236\204\241\203\224d\\^\202\225d\211b\210\314\211\204* \203\256\fB`* \206\270\321 \210\322 .\207" [cdabbrev-current-window saved-point-2 syntax tried-list downcase-expansion expansion nil ((byte-code "\302!\210 b\207" [saved-syntax saved-point set-syntax-table] 2)) set-cdabbrev-buffer syntax-table set-syntax-table search-backward t 32 119 -1 symbol-under-point reset-cdabbrev-window next-cdabbrev saved-syntax saved-point completion-syntax-table cdabbrev-current-point cdabbrev-abbrev-string cdabbrev-stop-point cdabbrev-completions-tried cdabbrev-wrapped-p completion-search-distance cdabbrev-start-point] 8 (#$ . 9293)]) (defconst cmpl-obarray-length 511) #@115 An obarray used to store the downcased completion prefixes. Each symbol is bound to a list of completion entries. (defvar cmpl-prefix-obarray (make-vector cmpl-obarray-length 0) (#$ . 10447)) #@104 An obarray used to store the downcased completions. Each symbol is bound to a single completion entry. (defvar cmpl-obarray (make-vector cmpl-obarray-length 0) (#$ . 10646)) (defalias 'completion-string '(macro . #[(completion-entry) "\301D\207" [completion-entry car] 2])) (defalias 'completion-num-uses '(macro . #[(completion-entry) "\301\302DD\207" [completion-entry car cdr] 3])) (defalias 'completion-last-use-time '(macro . #[(completion-entry) "\301\302E\207" [completion-entry nth 2] 3])) (defalias 'completion-source '(macro . #[(completion-entry) "\301\302E\207" [completion-entry nth 3] 3])) (defalias 'set-completion-string '(macro . #[(completion-entry string) "\302 E\207" [completion-entry string setcar] 3])) (defalias 'set-completion-num-uses '(macro . #[(completion-entry num-uses) "\302\303D E\207" [completion-entry num-uses setcar cdr] 3])) (defalias 'set-completion-last-use-time '(macro . #[(completion-entry last-use-time) "\302\303\211DD E\207" [completion-entry last-use-time setcar cdr] 4])) #@28 Return a completion entry. (defalias 'make-completion #[(string) "\302\303 F\207" [string current-completion-source 0 nil] 4 (#$ . 11679)]) (byte-code "\300\301\302\"\210\300\303\304\"\207" [defalias cmpl-prefix-entry-head car cmpl-prefix-entry-tail cdr] 3) (defalias 'set-cmpl-prefix-entry-head '(macro . #[(prefix-entry new-head) "\302 E\207" [prefix-entry new-head setcar] 3])) (defalias 'set-cmpl-prefix-entry-tail '(macro . #[(prefix-entry new-tail) "\302 E\207" [prefix-entry new-tail setcdr] 3])) #@59 Make a new prefix entry containing only completion-entry. (defalias 'make-cmpl-prefix-entry #[(completion-entry-list) "\211B\207" [completion-entry-list] 2 (#$ . 12192)]) #@72 Initialize the completion storage. All existing completions are lost. (defalias 'clear-all-completions #[nil "\303\304\"\303\304\"\305\207" [cmpl-obarray-length cmpl-prefix-obarray cmpl-obarray make-vector 0 nil] 3 (#$ . 12370) nil]) #@52 Return a list of all the known completion entries. (defalias 'list-all-completions #[nil "\302\303\304 \"\210)\207" [completions-list-return-value cmpl-prefix-obarray nil mapatoms list-all-completions-1] 3 (#$ . 12615)]) (defalias 'list-all-completions-1 #[(prefix-symbol) "\302!\205\303\304J! \"\211\207" [prefix-symbol completions-list-return-value boundp append cmpl-prefix-entry-head] 3]) #@77 Return list of lists of known completion entries, organized by hash bucket. (defalias 'list-all-completions-by-hash-bucket #[nil "\302\303\304 \"\210)\207" [completions-list-return-value cmpl-prefix-obarray nil mapatoms list-all-completions-by-hash-bucket-1] 3 (#$ . 13021)]) (defalias 'list-all-completions-by-hash-bucket-1 #[(prefix-symbol) "\302!\205\303J! B\211\207" [prefix-symbol completions-list-return-value boundp cmpl-prefix-entry-head] 2]) #@49 Set to a string that is pending its acceptance. (defvar completion-to-accept nil (#$ . 13485)) #@70 Setup by `find-exact-completion', etc. The given string, downcased. (defvar cmpl-db-downcase-string nil (#$ . 13586)) #@93 The interned symbol corresponding to `cmpl-db-downcase-string'. Set up by `cmpl-db-symbol'. (defvar cmpl-db-symbol nil (#$ . 13711)) #@72 The interned prefix symbol corresponding to `cmpl-db-downcase-string'. (defvar cmpl-db-prefix-symbol nil (#$ . 13850)) (defvar cmpl-db-entry nil) #@45 Set to t if you want to debug the database. (defvar cmpl-db-debug-p nil (#$ . 14002)) #@104 Return the completion entry for STRING or nil. Sets up `cmpl-db-downcase-string' and `cmpl-db-symbol'. (defalias 'find-exact-completion #[(string) "\304\305\227\211\n\"\211!\205 J\207" [string cmpl-db-downcase-string cmpl-obarray cmpl-db-symbol boundp intern] 4 (#$ . 14095)]) #@182 Return the prefix entry for string. Sets `cmpl-db-prefix-symbol'. Prefix-string must be exactly `completion-prefix-min-length' long and downcased. Sets up `cmpl-db-prefix-symbol'. (defalias 'find-cmpl-prefix-entry #[(prefix-string) "\303\304 \"\211!\205 \nJ\207" [prefix-string cmpl-prefix-obarray cmpl-db-prefix-symbol boundp intern] 4 (#$ . 14384)]) (defvar inside-locate-completion-entry nil) #@184 Locate the completion entry. Returns a pointer to the element before the completion entry or nil if the completion entry is at the head. Must be called after `find-exact-completion'. (defalias 'locate-completion-entry #[(completion-entry prefix-entry) "\306!\307\211@ =?\205C\n\203\" \nA\211@=\204\" \211\204\n\206C\f\2031\310\311 \"\202C\f\203;\312 \202C \307L\210\313 !*\207" [prefix-entry next-prefix-list prefix-list completion-entry cmpl-db-debug-p completion-string cmpl-prefix-entry-head nil error "Completion entry exists but not on prefix list - %s" locate-completion-db-error locate-completion-entry-retry inside-locate-completion-entry cmpl-db-symbol] 4 (#$ . 14791)]) (defalias 'locate-completion-entry-retry #[(old-entry) "\306\307 @ A@\310 8#\210\311 @!\211\205\312 \313\fO!\n\203, \203,\314\n \"\202.\315 +\207" [inside-locate-completion-entry old-entry cmpl-entry cmpl-db-downcase-string completion-prefix-min-length pref-entry t add-completion 2 find-exact-completion find-cmpl-prefix-entry 0 locate-completion-entry locate-completion-db-error] 6]) (defalias 'locate-completion-db-error #[nil "\300\301!\207" [error "Completion database corrupted. Try M-x clear-all-completions. Send bug report"] 2]) #@303 If STRING is not in the database add it to appropriate prefix list. STRING is added to the end of the appropriate prefix list with num-uses = 0. The database is unchanged if it is there. STRING must be longer than `completion-prefix-min-length'. This must be very fast. Returns the completion entry. (defalias 'add-completion-to-tail-if-new #[(string) "\306!\206/\307!C\310 \311\nO! \203#\312 !\f\241\210 \f\241\210\202) \313\f!L\210\f\f@L*\207" [string cmpl-db-downcase-string completion-prefix-min-length prefix-entry entry cmpl-db-prefix-symbol find-exact-completion make-completion find-cmpl-prefix-entry 0 cmpl-prefix-entry-tail make-cmpl-prefix-entry cmpl-db-symbol] 5 (#$ . 16043)]) #@341 If COMPLETION-STRING is not in the database, add it to prefix list. We add COMPLETION-STRING to the head of the appropriate prefix list, or to the head of the list. COMPLETION-STRING must be longer than `completion-prefix-min-length'. Updates the saved string with the supplied string. This must be very fast. Returns the completion entry. (defalias 'add-completion-to-head #[(completion-string) "\203\306 \210\307 !\211\203F\310 \311\fO!\312\n \"\211A\n \240\210\203CA\241\2047 \241\210\313 !\241\210 \240\210\n+\207\314 !C\310 \311\fO! \203f\313 !\241\210 \240\210\202n\315!L\210@L*\207" [completion-to-accept completion-string cmpl-db-entry cmpl-db-downcase-string completion-prefix-min-length prefix-entry accept-completion find-exact-completion find-cmpl-prefix-entry 0 locate-completion-entry cmpl-prefix-entry-head make-completion make-cmpl-prefix-entry splice-ptr cmpl-ptr entry cmpl-db-prefix-symbol cmpl-db-symbol] 6 (#$ . 16750)]) #@101 Delete the completion from the database. String must be longer than `completion-prefix-min-length'. (defalias 'delete-completion #[(completion-string) "\203\306 \210\307 !\211\203H\310 \311\fO!\312\n \"\313L\210\2037\211AA\241\204E \241\210\202E \314 !A\240\204E\313L\210*\313\207\315\316 \"\207" [completion-to-accept completion-string cmpl-db-entry cmpl-db-downcase-string completion-prefix-min-length prefix-entry accept-completion find-exact-completion find-cmpl-prefix-entry 0 locate-completion-entry nil cmpl-prefix-entry-head error "Unknown completion `%s'" splice-ptr cmpl-db-symbol cmpl-db-prefix-symbol] 4 (#$ . 17740)]) (defalias 'interactive-completion-string-reader #[(prompt) "\305 \211\203\306\307 #\202\306\310 \"\311\n \"\312\fG!\203&\206%\313\f+C\207" [default prompt new-prompt cmpl-obarray read symbol-under-or-before-point format "%s (default %s): " "%s: " completing-read zerop ""] 5]) (defalias 'check-completion-length #[(string) "G W\203\f\302\303\"\207C\207" [string completion-min-length user-error "The string `%s' is too short to be saved as a completion"] 3]) #@148 Add STRING to completion list, or move it to head of list. The completion is altered appropriately if NUM-USES and/or LAST-USE-TIME are specified. (defalias 'add-completion #[(string &optional num-uses last-use-time) "\306!\210\307\310!\203 \202\n\311!\f\203 A\f\240\210 \205& AA \240*\207" [string cmpl-source-interactive current-completion-source entry num-uses last-use-time check-completion-length called-interactively-p interactive add-completion-to-head] 2 (#$ . 18875) (interactive-completion-string-reader "Completion to add")]) #@63 Add STRING if it isn't already listed, and mark it permanent. (defalias 'add-permanent-completion #[(string) "\303\304!\203\n\202 \305\n\306\307#)\207" [cmpl-source-interactive current-completion-source string called-interactively-p interactive add-completion nil t] 4 (#$ . 19429) (interactive-completion-string-reader "Completion to add permanently")]) (defalias 'kill-completion #[(string) "\301!\210\302!\207" [string check-completion-length delete-completion] 2 nil (interactive-completion-string-reader "Completion to kill")]) #@147 Accepts the pending completion in `completion-to-accept'. This bumps num-uses. Called by `add-completion-to-head' and `completion-search-reset'. (defalias 'accept-completion #[nil " \306\306\307\f!\211A\nA@T\240\210\310\211+\207" [completion-to-accept cmpl-source-cdabbrev entry current-completion-source string cmpl-completions-accepted-p nil add-completion-to-head t] 4 (#$ . 19976)]) #@76 Add the completion symbol underneath the point into the completion buffer. (defalias 'use-completion-under-point #[nil "\205\304 \211\205\305 !*\207" [enable-completion cmpl-source-cursor-moves current-completion-source string symbol-under-point add-completion-to-head] 3 (#$ . 20377)]) #@68 Add the completion symbol before point into the completion buffer. (defalias 'use-completion-before-point #[nil "\205\304 \211\205\305 !*\207" [enable-completion cmpl-source-cursor-moves current-completion-source string symbol-before-point add-completion-to-head] 3 (#$ . 20678)]) #@68 Add the completion symbol before point into the completion buffer. (defalias 'use-completion-under-or-before-point #[nil "\205\304 \211\205\305 !*\207" [enable-completion cmpl-source-cursor-moves current-completion-source string symbol-under-or-before-point add-completion-to-head] 3 (#$ . 20973)]) #@174 Add the completion symbol before point into the completion buffer. Completions added this way will automatically be saved if `completion-on-separator-character' is non-nil. (defalias 'use-completion-before-separator #[nil "\205\306 \307\211\205(\310\f! \205(\311\nA@!\205(\nA\312\240\210\313\211\f+\207" [enable-completion cmpl-source-separator entry current-completion-source string completion-on-separator-character symbol-before-point nil add-completion-to-head zerop 1 t cmpl-completions-accepted-p] 4 (#$ . 21287)]) (defvar cmpl-test-string "") (defvar cmpl-test-regexp "") (defvar cmpl-last-index 0) (defvar cmpl-cdabbrev-reset-p nil) (defvar cmpl-next-possibilities nil) (defvar cmpl-starting-possibilities nil) (defvar cmpl-next-possibility nil) (defvar cmpl-tried-list nil) #@108 Set up the for completion searching for STRING. STRING must be longer than `completion-prefix-min-length'. (defalias 'completion-search-reset #[(string) "\203\306 \210\307\310 \311\nO\227!! \312 !\313P\314 \207" [completion-to-accept string completion-prefix-min-length cmpl-starting-possibilities cmpl-test-string cmpl-test-regexp accept-completion cmpl-prefix-entry-head find-cmpl-prefix-entry 0 regexp-quote "." completion-search-reset-1] 5 (#$ . 22089)]) (defalias 'completion-search-reset-1 #[nil "\306\211\307\306\211\207" [cmpl-starting-possibilities cmpl-next-possibilities cmpl-next-possibility cmpl-cdabbrev-reset-p cmpl-last-index cmpl-tried-list nil -1] 3]) #@163 Return the next completion entry. If INDEX is out of sequence, reset and start from the top. If there are no more entries, try cdabbrev and return only a string. (defalias 'completion-search-next #[(index) " T\211U\203\305\306!\210\202f\307W\203M\310 \210\311\n!\305\312!\2033T\211\307W\2033\312\202 \203f \313U\203B\n\202f\nG GZ\n\233\202f\310 \210\305\306!\203fS\211\307W\204f\312\202R\f\312\207" [index cmpl-last-index cmpl-starting-possibilities cmpl-next-possibilities cmpl-next-possibility completion-search-peek t 0 completion-search-reset-1 reverse nil -1] 3 (#$ . 22778)]) #@276 Return the next completion entry without actually moving the pointers. Calling this again or calling `completion-search-next' results in the same string being returned. Depends on `case-fold-search'. If there are no more entries, try cdabbrev and then return only a string. (defalias 'completion-search-peek #[(use-cdabbrev) "\206@ \203,\306\n @@\"\307=\204 A\211\204 \203, @\211@\227 B A\207\f\205@ \204<\310 \"\210\311\312 \211\207" [cmpl-next-possibility cmpl-next-possibilities cmpl-test-regexp cmpl-tried-list use-cdabbrev cmpl-cdabbrev-reset-p string-match 0 reset-cdabbrev t next-cdabbrev cmpl-test-string] 4 (#$ . 23399)]) #@68 Toggle whether or not to add new words to the completion database. (defalias 'completion-mode #[nil "?\301\302\203 \303\202\304\"\207" [enable-completion message "Completion mode is now %s." "ON" "OFF"] 3 (#$ . 24056) nil]) (defvar cmpl-current-index 0) (defvar cmpl-original-string nil) (defvar cmpl-last-insert-location -1) (defvar cmpl-leave-point-at-start nil) #@434 Fill out a completion of the word before point. Point is left at end. Consecutive calls rotate through all possibilities. Prefix args :: control-u :: leave the point at the beginning of the completion rather than at the end. a number :: rotate through the possible completions by that amount `-' :: same as -1 (insert previous completion) {See the comments at the top of `completion.el' for more info.} (defalias 'complete #[(&optional arg) " =\203\n`|\210 \f\206\306\\\202S \204\307 \210:\203*\310\311\202-\312\313 \211\204=\314\315\316\"\210\203F\f\202G\310\317!\210 |\210!\"Y\205`\320\321 !?#`$\322 !%\312&%\203\327%;\203}%\202\200%@&\323&\"\211&c\210&'\203\237`$b\210\202\242$#\205\373\324\310!\205\373\325(!\211%\205\373%;\203\302%\202\305%@&\323&\"&\326\327&\"\202\373c\210\312'#\203\370\324\310!\203\370\326\330 =\203\365\331\202\366\332\"\210\314\211,\207" [last-command this-command cmpl-last-insert-location cmpl-current-index arg cmpl-initialized-p 1 completion-initialize 0 t nil symbol-before-point-for-complete failed-complete error "To complete, point must be after a symbol at least %d character long" completion-search-reset window-minibuffer-p selected-window completion-search-next cmpl-merge-string-cases sit-for completion-search-peek message "Next completion: %s" "No %scompletions." "more " "" current-prefix-arg cmpl-leave-point-at-start cmpl-original-string completion-prefix-min-length cmpl-symbol-start cmpl-symbol-end baud-rate completion-prompt-speed-threshold print-status-p insert-point entry string completion-to-accept completion-cdabbrev-prompt-flag] 5 (#$ . 24434) "*p"]) #@66 Parse possible completions from a FILE and add them to database. (defalias 'add-completions-from-file #[(file) "\304!\305!\211\211\204\306\307!)\310\216r q\210\311 ,\207" [file buffer buffer-already-there-p completions-merging-modes expand-file-name get-file-buffer nil find-file-noselect ((byte-code "\204\302 !\210\302\207" [buffer-already-there-p buffer kill-buffer] 2)) add-completions-from-buffer] 3 (#$ . 26168) "fFile: "]) (defalias 'add-completions-from-buffer #[nil "\305\211\f\306>\203\307 \210\310\202'\f\311>\203\"\312 \210\313\202'\314\315\f\"\210+\305\207" [cmpl-source-file-parsing mode start-num current-completion-source major-mode nil (emacs-lisp-mode lisp-mode) add-completions-from-lisp-buffer lisp (c-mode) add-completions-from-c-buffer c error "Cannot parse completions in %s buffers"] 3 nil nil]) (defalias 'completion-find-file-hook #[nil "\205! \303>\203\304\n>\203\305 \207 \306>\205!\307\n>\205!\305 \207" [enable-completion major-mode completions-merging-modes (emacs-lisp-mode lisp-mode) lisp add-completions-from-buffer (c-mode) c] 2]) #@46 Add completions from the current tags table. (defalias 'add-completions-from-tags-table #[nil "\301 \210\212eb\210\302\211\303\304\217*\207" [string visit-tags-table-buffer nil (byte-code "\301\302!\210\303u\210\304 \211\203\305!\210\306u\210\202" [string search-forward "" -3 symbol-under-point add-completion-to-tail-if-new 3] 2) ((search-failed))] 4 (#$ . 27272) nil]) #@50 A regexp that searches for Lisp definition form. (defconst *lisp-def-regexp* "\n(\\(\\w*:\\)?def\\(\\w\\|\\s_\\)*\\s +(*" (#$ . 27658)) (defalias 'add-completions-from-lisp-buffer #[nil "\301\212eb\210\301\302\303\217*\207" [string nil (byte-code "\302!\210\303 \211\203\304 !\210\202" [*lisp-def-regexp* string re-search-forward symbol-under-point add-completion-to-tail-if-new] 2) ((search-failed))] 3]) (defconst completion-c-def-syntax-table (byte-code "\306 \307\310\311\312\211\313W\203\314\315 #\210T\211\202\f\n\311\211\2036 @\314\f\316 #\210 A\211\204&* \311\211\203O @\314\f\317 #\210 A\211\204?*\314\320\321 #\210\314\322\323 #\210\314\324\325 #\210\314\326\327 #\210 ,\207" [i separator-chars whitespace-chars table char --dolist-tail-- make-syntax-table (32 10 9 12 11 13) (44 42 61 40 59) nil 0 256 modify-syntax-entry "w" "_" " " 91 "(]" 123 "(}" 93 ")[" 125 "){"] 5)) #@47 A regexp that searches for a definition form. (defconst *c-def-regexp* "\n[_a-zA-Z#]" (#$ . 28578)) (defalias 'add-completions-from-c-buffer #[nil "\303\211\211\212eb\210\304\305\215,\207" [char next-point string nil finish-add-completions (byte-code "\303 p\304\216\305\n!\210\306\307\310\217\210\202 " [#1=#:buffer #2=#:table completion-c-def-syntax-table syntax-table ((byte-code "rq\210\302 !\210)\302\207" [#1# #2# set-syntax-table] 2)) set-syntax-table e (byte-code "\304!\210h\305U\203#\306\307!\203\310v\203\311 \211\203\312 !\210\202`\n\203\313\n\314\"\211\203\nb\210g\211\315U\203H\313`\314\"\211b\210\2025\316v\210\317 \211\203Y\312 !\210\202m\306\320!\203m\316v\210\317 \211\203m\312 !\210\nb\210 z\321U\203\212 z\321U\203%\313\n\314\"\211f\211\202x \322U\204%\323\211\202&" [*c-def-regexp* string next-point char re-search-forward 35 looking-at "\\(define\\|ifdef\\)\\>" 2 symbol-before-point add-completion-to-tail-if-new scan-sexps 1 42 -1 symbol-under-point "_AP" 40 44 nil] 4) ((search-failed (byte-code "\300\301\302\"\207" [throw finish-add-completions t] 3)) (error (byte-code "A@\301\235\203\302y\210\202\303\304!\210\305\306\307\"\210\302\207" [e ("Containing expression ends prematurely" "Unbalanced parentheses") 1 message "Error parsing C buffer for completions--please send bug report" throw finish-add-completions t] 3)))] 3)] 3]) (defalias 'kill-emacs-save-completions #[nil "\203 \203\n\203 \204\304\305!\210\202\306 \210\307\207" [save-completions-flag enable-completion cmpl-initialized-p cmpl-completions-accepted-p message "Completions database has not changed - not writing." save-completions-to-file nil] 2]) (defconst completion-version "11") (defconst saved-cmpl-file-header ";;; Completion Initialization file.\n;; Version = %s\n;; Format is (<string> . <last-use-time>)\n;; <string> is the completion\n;; <last-use-time> is the time the completion was last used\n;; If it is t, the completion will never be pruned from the file.\n;; Otherwise it is in hours since origin.\n\n") (defalias 'completion-backup-filename #[(filename) "\301P\207" [filename ".BAK"] 2]) #@106 Save completions in init file FILENAME. If file name is not specified, use `save-completions-file-name'. (defalias 'save-completions-to-file #[(&optional filename) "\306\206 !\307!\205\327\n\204\310 \210\311\312\"\210\313\314 \315 \316 !\314\211\"#\314$\317!%r\320\321!q\210&\322p!\204S\311\323!\210\324\313\"\210\311\325\"\210\326 \210\327 \210\330'(\"c\210\331 \315)\211*\203\313*@)\"T\"\332)8\211 \313=\203\213#T\211#\204\261)A@\314V\203\234!\211 \202\256 \203\302+\203\261! Z+W\203\302$T$\333)@ B!\334\261\210*A\211*\204l*\315\335\336\217\210\315,.\n\315\207" [filename save-completions-file-name cmpl-initialized-p delete-old-versions kept-old-versions completions-file-versions-kept expand-file-name file-writable-p completion-initialize message "Saving completions to file %s" t 0 nil cmpl-hours-since-origin completion-backup-filename get-buffer-create " *completion-save-buffer*" verify-visited-file-modtime "Completion file has changed. Merging. . ." load-completions-from-file "Merging finished. Saving completions to file %s" clear-visited-file-modtime erase-buffer format list-all-completions 2 prin1-to-string "\n" (byte-code "\301!\211\203\301\n!\204\303\n\"\210\304\n\305#\210\306 \210 \203$\307\n!\210)\301\207" [filename file-exists-p backup-filename rename-file copy-file t save-buffer delete-file] 5) ((error (byte-code "\301\302!\210\303\304\"\207" [filename set-buffer-modified-p nil message "Couldn't save completion file `%s'"] 3))) kept-new-versions last-use-time current-time total-in-db total-perm total-saved backup-filename buffer-file-name saved-cmpl-file-header completion-version completion --dolist-tail-- save-completions-retention-time cmpl-completions-accepted-p] 4 (#$ . 30754) nil]) #@104 Load a completion init file FILENAME. If file is not specified, then use `save-completions-file-name'. (defalias 'load-completions-from-file #[(&optional filename no-message-p) "\306\206 !\307!\310\n!\211\203\n\310!\205s\f\204.\311\312 \203*\313\202+\314#\210r\315\316!q\210\317 \210\320 \210\321p\321\211\211\211\211\321\322\211 !\"\321\323\324\217\210\"\203peb\210\321\325\326\217\210.\f\321*\207" [filename save-completions-file-name backup-filename backup-readable-p no-message-p buffer-file-name expand-file-name completion-backup-filename file-readable-p message "Loading completions from %sfile %s . . ." "backup " "" get-buffer-create " *completion-save-buffer*" clear-visited-file-modtime erase-buffer nil 0 (byte-code "\302\303\"\210\303\302\207" [filename insert-okay-p insert-file-contents t] 3) ((file-error (message "File error trying to load completion file %s." filename))) (byte-code "\306!\nT :\203k @\211;\203k A\211\307=\203& T\310\211\2025\f\310=\2033 T\211\2025\f\250\203k\311\312 !\2118\f\310=\204a\f\313V\203\310=\204\203a\fV\203AA\f\240\210\202\314\315\316 !\"\210\317\320!\210\202" [buffer entry total-in-file string last-use-time total-perm read T t 2 add-completion-to-tail-if-new 1000 message "Error: invalid saved completion - %s" prin1-to-string search-forward "\n(" cmpl-entry cmpl-last-use-time] 4) ((search-failed (message "End of file while reading completions.")) (end-of-file (byte-code "`dU\203\204\302\303 \"\210\202\302\304!\210\302\207" [no-message-p filename message "Loading completions from file %s . . . Done." "End of file while reading completions."] 3))) cmpl-source-init-file total-perm total-in-file start-num current-completion-source cmpl-last-use-time cmpl-entry last-use-time entry string buffer insert-okay-p] 12 (#$ . 32556) nil]) #@105 Load the default completions file. Also sets up so that exiting Emacs will automatically save the file. (defalias 'completion-initialize #[nil "?\205 \301 \210\302\211\207" [cmpl-initialized-p load-completions-from-file t] 2 (#$ . 34439) nil]) #@622 Kill between point and mark. The text is deleted but saved in the kill ring. The command \[yank] can retrieve it from there. /(If you want to kill and then yank immediately, use \[copy-region-as-kill].) This is the primitive for programs to kill text (as opposed to deleting it). Supply two arguments, character positions indicating the stretch of text to be killed. Any command that calls this function is a "kill command". If the previous command was also a kill command, the text killed this time appends to the text killed last time to make one entry in the kill ring. Patched to remove the most recent completion. (defalias 'completion-kill-region #[(&optional beg end) "\306=\203` |\210\nc\210\307\211\207\310\f \"\207" [last-command cmpl-last-insert-location cmpl-original-string completion-to-accept beg end complete nil kill-region] 4 (#$ . 34693) "r"]) (defalias 'completion-separator-self-insert-command #[(arg) "\301\302!\203\f\301\302!!\207\303 \210\302!\207" [arg command-remapping self-insert-command use-completion-before-separator] 2 nil "p"]) (defalias 'completion-separator-self-insert-autofilling #[(arg) "\302\303!\203\f\302\303!!\207\304 \210\303!\210 \205 \207" [arg auto-fill-function command-remapping self-insert-command use-completion-before-separator] 2 nil "p"]) #@145 Add a call to update the completion database before function execution. TYPE is the type of the wrapper to be added. Can be :before or :under. (defalias 'completion-def-wrapper #[(function-name type) "\302\303 \304\236A#\207" [function-name type put completion-function ((:separator . use-completion-before-separator) (:before . use-completion-before-point) (:backward-under . use-completion-backward-under) (:backward . use-completion-backward) (:under . use-completion-under-point) (:under-or-before . use-completion-under-or-before-point) (:minibuffer-separator . use-completion-minibuffer-separator))] 5 (#$ . 36007)]) (defalias 'use-completion-minibuffer-separator #[nil "\302 )\207" [completion-standard-syntax-table completion-syntax-table use-completion-before-separator] 1]) (defalias 'use-completion-backward-under #[nil "\301 \210\210\302\207" [last-command use-completion-under-point nil] 1]) (defalias 'use-completion-backward #[nil "\210\301\207" [last-command nil] 1]) (defalias 'completion-before-command #[nil "9\203 \301N\206\f\302 \207" [this-command completion-function use-completion-under-or-before-point] 2]) (defconst completion-lisp-syntax-table (byte-code "\305!\306 \307\211\203\f@\310 \311\n#\210\fA\211\204*\n*\207" [completion-standard-syntax-table symbol-chars table char --dolist-tail-- copy-syntax-table (33 38 63 61 94) nil modify-syntax-entry "_"] 5)) (defalias 'completion-lisp-mode-hook #[nil "\302\303\304\"\210\302\305\304\"\210\302\306\304\"\210\302\307\304\"\210\302\310\304\"\210\302\311\304\"\207" [completion-lisp-syntax-table completion-syntax-table local-set-key "!" self-insert-command "&" "%" "?" "=" "^"] 3]) (defconst completion-c-syntax-table (byte-code "\305!\306 \307\211\203\f@\310 \311\n#\210\fA\211\204*\n*\207" [completion-standard-syntax-table separator-chars table char --dolist-tail-- copy-syntax-table (43 42 47 58 37) nil modify-syntax-entry " "] 5)) (completion-def-wrapper 'electric-c-semi :separator) (defalias 'completion-c-mode-hook #[nil "\302\303\304\"\210\302\305\304\"\210\302\306\304\"\207" [completion-c-syntax-table completion-syntax-table local-set-key "+" completion-separator-self-insert-command "*" "/"] 3]) (defconst completion-fortran-syntax-table (byte-code "\305!\306 \307\211\203\f@\310 \311\n#\210\fA\211\204*\n*\207" [completion-standard-syntax-table separator-chars table char --dolist-tail-- copy-syntax-table (43 45 42 47 58) nil modify-syntax-entry " "] 5)) (defalias 'completion-setup-fortran-mode #[nil "\302\303\304\"\210\302\305\304\"\210\302\306\304\"\210\302\307\304\"\207" [completion-fortran-syntax-table completion-syntax-table local-set-key "+" completion-separator-self-insert-command "-" "*" "/"] 3]) (defvar completion-saved-bindings nil) #@290 Non-nil if Dynamic-Completion mode is enabled. See the command `dynamic-completion-mode' for a description of this minor mode. Setting this variable directly does not take effect; either customize it (see the info node `Easy Customization') or call the function `dynamic-completion-mode'. (custom-declare-variable 'dynamic-completion-mode nil '(#$ . 38804) :set 'custom-set-minor-mode :initialize 'custom-initialize-default :group 'dynamic-completion :type 'boolean) #@197 Toggle dynamic word-completion on or off. With a prefix argument ARG, enable the mode if ARG is positive, and disable it otherwise. If called from Lisp, enable the mode if ARG is omitted or nil. (defalias 'dynamic-completion-mode #[(&optional arg) "\306  \307=\203\n?\202\310 !\311V\312 \313\314#\210\315\316\211\203A @\n\2033\317\f@\fA\"\210\202:\320\f@\fA\"\210 A\211\204\"*!\203]!\211A!@\"\321\"@\"A\"\210)\202B\n\203\221\322\316\"\211\203\215 @\211\"@\323#\"@\"B!B!\321\"@\"A\"\210 A\211\204j*\324 \210\325\326\n\203\233\327\202\234\330\"\210\331\332!\203\301\333\302!\210\306 \203\264\306 \232\203\301\334\335\n\203\276\336\202\277\337\"\210)\340 \210\n\207" [#1=#:last-message arg dynamic-completion-mode function-key-map x --dolist-tail-- current-message toggle prefix-numeric-value 0 define-key [C-return] [67108877] ((find-file-hook . completion-find-file-hook) (pre-command-hook . completion-before-command) (kill-emacs-hook . kill-emacs-save-completions) (lisp-mode-hook . completion-lisp-mode-hook) (c-mode-hook . completion-c-mode-hook) (fortran-mode-hook . completion-setup-fortran-mode)) nil add-hook remove-hook global-set-key (("\215" . complete) ([67108877] . complete) ([remap kill-region] . completion-kill-region) (" " . completion-separator-self-insert-autofilling) ("!" . completion-separator-self-insert-command) ("%" . completion-separator-self-insert-command) ("^" . completion-separator-self-insert-command) ("&" . completion-separator-self-insert-command) ("(" . completion-separator-self-insert-command) (")" . completion-separator-self-insert-command) ("=" . completion-separator-self-insert-command) ("`" . completion-separator-self-insert-command) ("|" . completion-separator-self-insert-command) ("{" . completion-separator-self-insert-command) ("}" . completion-separator-self-insert-command) ("[" . completion-separator-self-insert-command) ("]" . completion-separator-self-insert-command) (";" . completion-separator-self-insert-command) ("\"" . completion-separator-self-insert-command) ("'" . completion-separator-self-insert-command) ("#" . completion-separator-self-insert-command) ("," . completion-separator-self-insert-command) ("?" . completion-separator-self-insert-command) ("." . completion-separator-self-insert-command) (":" . completion-separator-self-insert-command)) lookup-key completion-initialize run-hooks dynamic-completion-mode-hook dynamic-completion-mode-on-hook dynamic-completion-mode-off-hook called-interactively-p any customize-mark-as-set message "Dynamic-Completion mode %sabled" "en" "dis" force-mode-line-update completion-saved-bindings binding global-map] 5 (#$ . 39278) (list (or current-prefix-arg 'toggle))]) (byte-code "\301\302\303\304\300!\205\n\303\211%\210\305\306\307\"\210\305\310\307\"\210\305\311\307\"\210\305\312\313\"\210\305\314\307\"\210\305\315\307\"\210\305\316\317\"\210\305\320\317\"\210\305\321\317\"\210\305\322\317\"\210\305\323\317\"\210\305\324\317\"\210\305\325\317\"\210\305\326\317\"\210\305\327\317\"\210\305\330\331\"\210\305\332\331\"\210\305\333\331\"\210\305\334\335\"\210\305\336\335\"\210\337\340\341\"\210\342\343\344\"\210\345\346!\207" [dynamic-completion-mode-map add-minor-mode dynamic-completion-mode nil boundp completion-def-wrapper newline :separator newline-and-indent comint-send-input exit-minibuffer :minibuffer-separator eval-print-last-sexp eval-last-sexp next-line :under-or-before previous-line beginning-of-buffer end-of-buffer beginning-of-line end-of-line forward-char forward-word forward-sexp backward-char :backward-under backward-word backward-sexp delete-backward-char :backward delete-backward-char-untabify defvaralias cmpl-syntax-table completion-syntax-table defalias initialize-completions completion-initialize provide completion] 6)