PNG  IHDRX cHRMz&u0`:pQ<bKGD pHYsodtIME MeqIDATxw]Wug^Qd˶ 6`!N:!@xI~)%7%@Bh&`lnjVF29gΨ4E$|>cɚ{gk= %,a KX%,a KX%,a KX%,a KX%,a KX%,a KX%, b` ǟzeאfp]<!SJmɤY޲ڿ,%c ~ع9VH.!Ͳz&QynֺTkRR.BLHi٪:l;@(!MԴ=žI,:o&N'Kù\vRmJ雵֫AWic H@" !: Cé||]k-Ha oݜ:y F())u]aG7*JV@J415p=sZH!=!DRʯvɱh~V\}v/GKY$n]"X"}t@ xS76^[bw4dsce)2dU0 CkMa-U5tvLƀ~mlMwfGE/-]7XAƟ`׮g ewxwC4\[~7@O-Q( a*XGƒ{ ՟}$_y3tĐƤatgvێi|K=uVyrŲlLӪuܿzwk$m87k( `múcE)"@rK( z4$D; 2kW=Xb$V[Ru819קR~qloѱDyįݎ*mxw]y5e4K@ЃI0A D@"BDk_)N\8͜9dz"fK0zɿvM /.:2O{ Nb=M=7>??Zuo32 DLD@D| &+֎C #B8ַ`bOb $D#ͮҪtx]%`ES`Ru[=¾!@Od37LJ0!OIR4m]GZRJu$‡c=%~s@6SKy?CeIh:[vR@Lh | (BhAMy=݃  G"'wzn޺~8ԽSh ~T*A:xR[ܹ?X[uKL_=fDȊ؂p0}7=D$Ekq!/t.*2ʼnDbŞ}DijYaȲ(""6HA;:LzxQ‘(SQQ}*PL*fc\s `/d'QXW, e`#kPGZuŞuO{{wm[&NBTiiI0bukcA9<4@SӊH*؎4U/'2U5.(9JuDfrޱtycU%j(:RUbArLֺN)udA':uGQN"-"Is.*+k@ `Ojs@yU/ H:l;@yyTn}_yw!VkRJ4P)~y#)r,D =ě"Q]ci'%HI4ZL0"MJy 8A{ aN<8D"1#IJi >XjX֔#@>-{vN!8tRݻ^)N_╗FJEk]CT՟ YP:_|H1@ CBk]yKYp|og?*dGvzنzӴzjֺNkC~AbZƷ`.H)=!QͷVTT(| u78y֮}|[8-Vjp%2JPk[}ԉaH8Wpqhwr:vWª<}l77_~{s۴V+RCģ%WRZ\AqHifɤL36: #F:p]Bq/z{0CU6ݳEv_^k7'>sq*+kH%a`0ԣisqにtү04gVgW΂iJiS'3w.w}l6MC2uԯ|>JF5`fV5m`Y**Db1FKNttu]4ccsQNnex/87+}xaUW9y>ͯ骵G{䩓Գ3+vU}~jJ.NFRD7<aJDB1#ҳgSb,+CS?/ VG J?|?,2#M9}B)MiE+G`-wo߫V`fio(}S^4e~V4bHOYb"b#E)dda:'?}׮4繏`{7Z"uny-?ǹ;0MKx{:_pÚmFמ:F " .LFQLG)Q8qN q¯¯3wOvxDb\. BKD9_NN &L:4D{mm o^tֽ:q!ƥ}K+<"m78N< ywsard5+вz~mnG)=}lYݧNj'QJS{S :UYS-952?&O-:W}(!6Mk4+>A>j+i|<<|;ر^߉=HE|V#F)Emm#}/"y GII웻Jі94+v뾧xu~5C95~ūH>c@덉pʃ1/4-A2G%7>m;–Y,cyyaln" ?ƻ!ʪ<{~h~i y.zZB̃/,雋SiC/JFMmBH&&FAbϓO^tubbb_hZ{_QZ-sύodFgO(6]TJA˯#`۶ɟ( %$&+V'~hiYy>922 Wp74Zkq+Ovn錄c>8~GqܲcWꂎz@"1A.}T)uiW4="jJ2W7mU/N0gcqܗOO}?9/wìXžΏ0 >֩(V^Rh32!Hj5`;O28؇2#ݕf3 ?sJd8NJ@7O0 b־?lldщ̡&|9C.8RTWwxWy46ah嘦mh٤&l zCy!PY?: CJyв]dm4ǜҐR޻RլhX{FƯanшQI@x' ao(kUUuxW_Ñ줮[w8 FRJ(8˼)_mQ _!RJhm=!cVmm ?sFOnll6Qk}alY}; "baӌ~M0w,Ggw2W:G/k2%R,_=u`WU R.9T"v,<\Ik޽/2110Ӿxc0gyC&Ny޽JҢrV6N ``یeA16"J³+Rj*;BϜkZPJaÍ<Jyw:NP8/D$ 011z֊Ⱳ3ι֘k1V_"h!JPIΣ'ɜ* aEAd:ݺ>y<}Lp&PlRfTb1]o .2EW\ͮ]38؋rTJsǏP@芎sF\> P^+dYJLbJ C-xϐn> ι$nj,;Ǖa FU *择|h ~izť3ᤓ`K'-f tL7JK+vf2)V'-sFuB4i+m+@My=O҈0"|Yxoj,3]:cо3 $#uŘ%Y"y죯LebqtҢVzq¼X)~>4L׶m~[1_k?kxֺQ`\ |ٛY4Ѯr!)N9{56(iNq}O()Em]=F&u?$HypWUeB\k]JɩSع9 Zqg4ZĊo oMcjZBU]B\TUd34ݝ~:7ڶSUsB0Z3srx 7`:5xcx !qZA!;%͚7&P H<WL!džOb5kF)xor^aujƍ7 Ǡ8/p^(L>ὴ-B,{ۇWzֺ^k]3\EE@7>lYBȝR.oHnXO/}sB|.i@ɥDB4tcm,@ӣgdtJ!lH$_vN166L__'Z)y&kH;:,Y7=J 9cG) V\hjiE;gya~%ks_nC~Er er)muuMg2;֫R)Md) ,¶ 2-wr#F7<-BBn~_(o=KO㭇[Xv eN_SMgSҐ BS헃D%g_N:/pe -wkG*9yYSZS.9cREL !k}<4_Xs#FmҶ:7R$i,fi!~' # !6/S6y@kZkZcX)%5V4P]VGYq%H1!;e1MV<!ϐHO021Dp= HMs~~a)ަu7G^];git!Frl]H/L$=AeUvZE4P\.,xi {-~p?2b#amXAHq)MWǾI_r`S Hz&|{ +ʖ_= (YS(_g0a03M`I&'9vl?MM+m~}*xT۲(fY*V4x@29s{DaY"toGNTO+xCAO~4Ϳ;p`Ѫ:>Ҵ7K 3}+0 387x\)a"/E>qpWB=1 ¨"MP(\xp߫́A3+J] n[ʼnӼaTbZUWb={~2ooKױӰp(CS\S筐R*JغV&&"FA}J>G֐p1ٸbk7 ŘH$JoN <8s^yk_[;gy-;߉DV{c B yce% aJhDȶ 2IdйIB/^n0tNtџdcKj4϶v~- CBcgqx9= PJ) dMsjpYB] GD4RDWX +h{y`,3ꊕ$`zj*N^TP4L:Iz9~6s) Ga:?y*J~?OrMwP\](21sZUD ?ܟQ5Q%ggW6QdO+\@ ̪X'GxN @'4=ˋ+*VwN ne_|(/BDfj5(Dq<*tNt1х!MV.C0 32b#?n0pzj#!38}޴o1KovCJ`8ŗ_"]] rDUy޲@ Ȗ-;xџ'^Y`zEd?0„ DAL18IS]VGq\4o !swV7ˣι%4FѮ~}6)OgS[~Q vcYbL!wG3 7띸*E Pql8=jT\꘿I(z<[6OrR8ºC~ډ]=rNl[g|v TMTղb-o}OrP^Q]<98S¤!k)G(Vkwyqyr޽Nv`N/e p/~NAOk \I:G6]4+K;j$R:Mi #*[AȚT,ʰ,;N{HZTGMoּy) ]%dHء9Պ䠬|<45,\=[bƟ8QXeB3- &dҩ^{>/86bXmZ]]yޚN[(WAHL$YAgDKp=5GHjU&99v簪C0vygln*P)9^͞}lMuiH!̍#DoRBn9l@ xA/_v=ȺT{7Yt2N"4!YN`ae >Q<XMydEB`VU}u]嫇.%e^ánE87Mu\t`cP=AD/G)sI"@MP;)]%fH9'FNsj1pVhY&9=0pfuJ&gޤx+k:!r˭wkl03׼Ku C &ѓYt{.O.zҏ z}/tf_wEp2gvX)GN#I ݭ߽v/ .& и(ZF{e"=V!{zW`, ]+LGz"(UJp|j( #V4, 8B 0 9OkRrlɱl94)'VH9=9W|>PS['G(*I1==C<5"Pg+x'K5EMd؞Af8lG ?D FtoB[je?{k3zQ vZ;%Ɠ,]E>KZ+T/ EJxOZ1i #T<@ I}q9/t'zi(EMqw`mYkU6;[t4DPeckeM;H}_g pMww}k6#H㶏+b8雡Sxp)&C $@'b,fPߑt$RbJ'vznuS ~8='72_`{q纶|Q)Xk}cPz9p7O:'|G~8wx(a 0QCko|0ASD>Ip=4Q, d|F8RcU"/KM opKle M3#i0c%<7׿p&pZq[TR"BpqauIp$ 8~Ĩ!8Սx\ւdT>>Z40ks7 z2IQ}ItԀ<-%S⍤};zIb$I 5K}Q͙D8UguWE$Jh )cu4N tZl+[]M4k8֦Zeq֮M7uIqG 1==tLtR,ƜSrHYt&QP윯Lg' I,3@P'}'R˪e/%-Auv·ñ\> vDJzlӾNv5:|K/Jb6KI9)Zh*ZAi`?S {aiVDԲuy5W7pWeQJk֤#5&V<̺@/GH?^τZL|IJNvI:'P=Ϛt"¨=cud S Q.Ki0 !cJy;LJR;G{BJy޺[^8fK6)=yʊ+(k|&xQ2`L?Ȓ2@Mf 0C`6-%pKpm')c$׻K5[J*U[/#hH!6acB JA _|uMvDyk y)6OPYjœ50VT K}cǻP[ $:]4MEA.y)|B)cf-A?(e|lɉ#P9V)[9t.EiQPDѠ3ϴ;E:+Օ t ȥ~|_N2,ZJLt4! %ա]u {+=p.GhNcŞQI?Nd'yeh n7zi1DB)1S | S#ًZs2|Ɛy$F SxeX{7Vl.Src3E℃Q>b6G ўYCmtկ~=K0f(=LrAS GN'ɹ9<\!a`)֕y[uՍ[09` 9 +57ts6}b4{oqd+J5fa/,97J#6yν99mRWxJyѡyu_TJc`~W>l^q#Ts#2"nD1%fS)FU w{ܯ R{ ˎ󅃏џDsZSQS;LV;7 Od1&1n$ N /.q3~eNɪ]E#oM~}v֯FڦwyZ=<<>Xo稯lfMFV6p02|*=tV!c~]fa5Y^Q_WN|Vs 0ҘދU97OI'N2'8N֭fgg-}V%y]U4 峧p*91#9U kCac_AFңĪy뚇Y_AiuYyTTYЗ-(!JFLt›17uTozc. S;7A&&<ԋ5y;Ro+:' *eYJkWR[@F %SHWP 72k4 qLd'J "zB6{AC0ƁA6U.'F3:Ȅ(9ΜL;D]m8ڥ9}dU "v!;*13Rg^fJyShyy5auA?ɩGHRjo^]׽S)Fm\toy 4WQS@mE#%5ʈfFYDX ~D5Ϡ9tE9So_aU4?Ѽm%&c{n>.KW1Tlb}:j uGi(JgcYj0qn+>) %\!4{LaJso d||u//P_y7iRJ߬nHOy) l+@$($VFIQ9%EeKʈU. ia&FY̒mZ=)+qqoQn >L!qCiDB;Y<%} OgBxB!ØuG)WG9y(Ą{_yesuZmZZey'Wg#C~1Cev@0D $a@˲(.._GimA:uyw֬%;@!JkQVM_Ow:P.s\)ot- ˹"`B,e CRtaEUP<0'}r3[>?G8xU~Nqu;Wm8\RIkբ^5@k+5(By'L&'gBJ3ݶ!/㮻w҅ yqPWUg<e"Qy*167΃sJ\oz]T*UQ<\FԎ`HaNmڜ6DysCask8wP8y9``GJ9lF\G g's Nn͵MLN֪u$| /|7=]O)6s !ĴAKh]q_ap $HH'\1jB^s\|- W1:=6lJBqjY^LsPk""`]w)󭃈,(HC ?䔨Y$Sʣ{4Z+0NvQkhol6C.婧/u]FwiVjZka&%6\F*Ny#8O,22+|Db~d ~Çwc N:FuuCe&oZ(l;@ee-+Wn`44AMK➝2BRՈt7g*1gph9N) *"TF*R(#'88pm=}X]u[i7bEc|\~EMn}P瘊J)K.0i1M6=7'_\kaZ(Th{K*GJyytw"IO-PWJk)..axӝ47"89Cc7ĐBiZx 7m!fy|ϿF9CbȩV 9V-՛^pV̌ɄS#Bv4-@]Vxt-Z, &ֺ*diؠ2^VXbs֔Ìl.jQ]Y[47gj=幽ex)A0ip׳ W2[ᎇhuE^~q흙L} #-b۸oFJ_QP3r6jr+"nfzRJTUqoaۍ /$d8Mx'ݓ= OՃ| )$2mcM*cЙj}f };n YG w0Ia!1Q.oYfr]DyISaP}"dIӗթO67jqR ҊƐƈaɤGG|h;t]䗖oSv|iZqX)oalv;۩meEJ\!8=$4QU4Xo&VEĊ YS^E#d,yX_> ۘ-e\ "Wa6uLĜZi`aD9.% w~mB(02G[6y.773a7 /=o7D)$Z 66 $bY^\CuP. (x'"J60׿Y:Oi;F{w佩b+\Yi`TDWa~|VH)8q/=9!g߆2Y)?ND)%?Ǐ`k/sn:;O299yB=a[Ng 3˲N}vLNy;*?x?~L&=xyӴ~}q{qE*IQ^^ͧvü{Huu=R|>JyUlZV, B~/YF!Y\u_ݼF{_C)LD]m {H 0ihhadd nUkf3oٺCvE\)QJi+֥@tDJkB$1!Đr0XQ|q?d2) Ӣ_}qv-< FŊ߫%roppVBwü~JidY4:}L6M7f٬F "?71<2#?Jyy4뷢<_a7_=Q E=S1И/9{+93֮E{ǂw{))?maÆm(uLE#lïZ  ~d];+]h j?!|$F}*"4(v'8s<ŏUkm7^7no1w2ؗ}TrͿEk>p'8OB7d7R(A 9.*Mi^ͳ; eeUwS+C)uO@ =Sy]` }l8^ZzRXj[^iUɺ$tj))<sbDJfg=Pk_{xaKo1:-uyG0M ԃ\0Lvuy'ȱc2Ji AdyVgVh!{]/&}}ċJ#%d !+87<;qN޼Nفl|1N:8ya  8}k¾+-$4FiZYÔXk*I&'@iI99)HSh4+2G:tGhS^繿 Kتm0 вDk}֚+QT4;sC}rՅE,8CX-e~>G&'9xpW,%Fh,Ry56Y–hW-(v_,? ; qrBk4-V7HQ;ˇ^Gv1JVV%,ik;D_W!))+BoS4QsTM;gt+ndS-~:11Sgv!0qRVh!"Ȋ(̦Yl.]PQWgٳE'`%W1{ndΗBk|Ž7ʒR~,lnoa&:ü$ 3<a[CBݮwt"o\ePJ=Hz"_c^Z.#ˆ*x z̝grY]tdkP*:97YľXyBkD4N.C_[;F9`8& !AMO c `@BA& Ost\-\NX+Xp < !bj3C&QL+*&kAQ=04}cC!9~820G'PC9xa!w&bo_1 Sw"ܱ V )Yl3+ס2KoXOx]"`^WOy :3GO0g;%Yv㐫(R/r (s } u B &FeYZh0y> =2<Ϟc/ -u= c&׭,.0"g"7 6T!vl#sc>{u/Oh Bᾈ)۴74]x7 gMӒ"d]U)}" v4co[ ɡs 5Gg=XR14?5A}D "b{0$L .\4y{_fe:kVS\\O]c^W52LSBDM! C3Dhr̦RtArx4&agaN3Cf<Ԉp4~ B'"1@.b_/xQ} _߃҉/gٓ2Qkqp0շpZ2fԫYz< 4L.Cyυι1t@鎫Fe sYfsF}^ V}N<_`p)alٶ "(XEAVZ<)2},:Ir*#m_YӼ R%a||EƼIJ,,+f"96r/}0jE/)s)cjW#w'Sʯ5<66lj$a~3Kʛy 2:cZ:Yh))+a߭K::N,Q F'qB]={.]h85C9cr=}*rk?vwV렵ٸW Rs%}rNAkDv|uFLBkWY YkX מ|)1!$#3%y?pF<@<Rr0}: }\J [5FRxY<9"SQdE(Q*Qʻ)q1E0B_O24[U'],lOb ]~WjHޏTQ5Syu wq)xnw8~)c 쫬gٲߠ H% k5dƝk> kEj,0% b"vi2Wس_CuK)K{n|>t{P1򨾜j>'kEkƗBg*H%'_aY6Bn!TL&ɌOb{c`'d^{t\i^[uɐ[}q0lM˕G:‚4kb祔c^:?bpg… +37stH:0}en6x˟%/<]BL&* 5&fK9Mq)/iyqtA%kUe[ڛKN]Ě^,"`/ s[EQQm?|XJ߅92m]G.E΃ח U*Cn.j_)Tѧj̿30ڇ!A0=͜ar I3$C^-9#|pk!)?7.x9 @OO;WƝZBFU keZ75F6Tc6"ZȚs2y/1 ʵ:u4xa`C>6Rb/Yм)^=+~uRd`/|_8xbB0?Ft||Z\##|K 0>>zxv8۴吅q 8ĥ)"6>~\8:qM}#͚'ĉ#p\׶ l#bA?)|g g9|8jP(cr,BwV (WliVxxᡁ@0Okn;ɥh$_ckCgriv}>=wGzβ KkBɛ[˪ !J)h&k2%07δt}!d<9;I&0wV/ v 0<H}L&8ob%Hi|޶o&h1L|u֦y~󛱢8fٲUsւ)0oiFx2}X[zVYr_;N(w]_4B@OanC?gĦx>мgx>ΛToZoOMp>40>V Oy V9iq!4 LN,ˢu{jsz]|"R޻&'ƚ{53ўFu(<٪9:΋]B;)B>1::8;~)Yt|0(pw2N%&X,URBK)3\zz&}ax4;ǟ(tLNg{N|Ǽ\G#C9g$^\}p?556]/RP.90 k,U8/u776s ʪ_01چ|\N 0VV*3H鴃J7iI!wG_^ypl}r*jɤSR 5QN@ iZ#1ٰy;_\3\BQQ x:WJv츟ٯ$"@6 S#qe딇(/P( Dy~TOϻ<4:-+F`0||;Xl-"uw$Цi󼕝mKʩorz"mϺ$F:~E'ҐvD\y?Rr8_He@ e~O,T.(ފR*cY^m|cVR[8 JҡSm!ΆԨb)RHG{?MpqrmN>߶Y)\p,d#xۆWY*,l6]v0h15M˙MS8+EdI='LBJIH7_9{Caз*Lq,dt >+~ّeʏ?xԕ4bBAŚjﵫ!'\Ը$WNvKO}ӽmSşذqsOy?\[,d@'73'j%kOe`1.g2"e =YIzS2|zŐƄa\U,dP;jhhhaxǶ?КZ՚.q SE+XrbOu%\GتX(H,N^~]JyEZQKceTQ]VGYqnah;y$cQahT&QPZ*iZ8UQQM.qo/T\7X"u?Mttl2Xq(IoW{R^ ux*SYJ! 4S.Jy~ BROS[V|žKNɛP(L6V^|cR7i7nZW1Fd@ Ara{詑|(T*dN]Ko?s=@ |_EvF]׍kR)eBJc" MUUbY6`~V޴dJKß&~'d3i WWWWWW
Current Directory: /usr/share/emacs/24.3/lisp/cedet/semantic/wisent
Viewing File: /usr/share/emacs/24.3/lisp/cedet/semantic/wisent/python.elc
;ELC ;;; Compiled by mockbuild@buildfarm01-new.corp.cloudlinux.com on Tue Nov 11 12:57:28 2025 ;;; from file /builddir/build/BUILD/emacs-24.3/lisp/cedet/semantic/wisent/python.el ;;; in Emacs version 24.3.1 ;;; with all optimizations. ;;; This file uses dynamic docstrings, first added in Emacs 19.29. ;;; This file does not contain utf-8 non-ASCII characters, ;;; and so can be loaded in Emacs versions earlier than 23. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (byte-code "\300\301!\210\300\302\303\304#\210\300\305!\210\300\306!\210\300\307!\210\300\310!\210\300\311!\207" [require rx python nil t semantic/wisent semantic/wisent/python-wy semantic/find semantic/dep semantic/ctxt] 4) #@68 Evaluate some Python code that determines the system include path. (defalias 'semantic-python-get-system-include-path #[nil "\300\301\302\303\304\305\306!\307\310#\"\"\207" [delq nil mapcar #[(dir) "\301!\205\207" [dir file-directory-p] 2] split-string python-shell-internal-send-string "import sys;print ('\\n'.join(sys.path))" "\n" t] 8 (#$ . 796)]) (byte-code "\306\300\307\310\311\312\311\313\314\315\316\317& \210\320\321 BC\322\323#\210\324\325\323\"\210 \210)\326\321\323\327 !\330\n\204F\211\204F \205E\331 \"\n\203p\f\204p\n\332N\203_\331 \n\332N\"\211\204F\n\211\333N\206j\n\334N)\211\204J\f,\335\336#\210\326\321\323\300#\207" [semantic-python-dependency-system-include-path #3=#:tmp0 mode symbol bind name custom-declare-variable (when (and (featurep 'python) (not noninteractive)) (semantic-python-get-system-include-path)) "The system include path used by Python language." :group python semantic :type (repeat (directory :tag "Directory")) :set #[(sym val) "\303 \"\210 \304\305\nBC\306\307#\210\310\311\307\"\210\n\210)\312\313!\205\"\310\313\307\"\207" [sym val #1=#:tmp0 set-default mode-local-bind semantic-dependency-system-include-path #2=(mode-variable-flag t) python-mode mode-local-map-mode-buffers #[nil "\302\301!\210\211\207" [#1# semantic-dependency-system-include-path make-local-variable] 2] fboundp semantic-decoration-unparsed-include-do-reset] 4] mode-local-bind semantic-dependency-system-include-path #2# python-mode mode-local-map-mode-buffers #[nil "\302\301!\210\211\207" [#3# semantic-dependency-system-include-path make-local-variable] 2] put symbol-name nil intern-soft mode-local-symbol-table mode-local-parent derived-mode-parent variable-documentation "System path to search for include files." mode-local-active-mode major-mode] 12) #@47 Regexp matching beginning of a Python string. (defconst wisent-python-string-start-re "[uU]?[rR]?['\"]" (#$ . 2619)) #@43 Regexp matching a complete Python string. (defconst wisent-python-string-re "[Uu]?[Rr]?\\(?:'''\\(?:\\\\'\\|[^']\\|'\\{1,2\\}[^']\\)*'''\\|'\\(?:\\\\'\\|[^']\\)*'\\|\"\"\"\\(?:\\\\\"\\|[^\"]\\|\"\\{1,2\\}[^\"]\\)*\"\"\"\\|\"\\(?:\\\\\"\\|[^\"]\\)*\"\\)" (#$ . 2742)) #@67 Non-nil when expanding a paren block for Python lexical analyzer. (defvar wisent-python-EXPANDING-block nil (#$ . 3015)) #@134 Return non-nil if implicit line joining is active. That is, if inside an expression in parentheses, square brackets or curly braces. (defalias 'wisent-python-implicit-line-joining-p #[nil "\207" [wisent-python-EXPANDING-block] 1 (#$ . 3143)]) #@54 Move point at the end of the Python string at point. (defalias 'wisent-python-forward-string #[nil "\303!\203\"\304\224\304\225 \nZ\305U\203\303\306!\203\307\310!\210 b*\207\307\310!\207" [wisent-python-string-re end start looking-at 0 2 "\"\\{3\\}\\|'\\{3\\}" error "unterminated syntax"] 2 (#$ . 3393)]) (put 'wisent-python-forward-string 'byte-optimizer 'byte-compile-inline-expand) #@273 Move point to the end of the balanced expression at point. Here 'balanced expression' means anything matched by Emacs' open/close parenthesis syntax classes. We can't use forward-sexp for this because that Emacs built-in can't parse Python's triple-quoted string syntax. (defalias 'wisent-python-forward-balanced-expression #[nil "\305`!A\306u\210m\204k`f=\204k\307 !\203D\307\n!\203=\310\224\310\225 \fZ\311U\2037\307\312!\2037\313\314!\210 b*\202@\313\314!\210\202\307\315!\203P\316\210\202\307\317!\203\\\320 \210\202\321\322\323!!\203\313\324!\210\202\306u)\207" [end-char wisent-python-string-start-re wisent-python-string-re end start syntax-after 1 looking-at 0 2 "\"\\{3\\}\\|'\\{3\\}" error "unterminated syntax" "\\s<" nil "\\s(" wisent-python-forward-balanced-expression zerop skip-syntax-forward "-w_.$\\>" "can't figure out how to go forward from here"] 3 (#$ . 3794)]) #@385 Move point to the beginning of the next logical line. Usually this is simply the next physical line unless strings, implicit/explicit line continuation, blank lines, or comment lines are encountered. This function skips over such items so that the point is at the beginning of the next logical line. If the current logical line ends at the end of the buffer, leave the point there. (defalias 'wisent-python-forward-line #[nil "l\204j`\304!\2036\304 !\203/\305\224\305\225\n Z\306U\203)\304\307!\203)\310\311!\210\nb*\2022\310\311!\210\202^\304\312!\203B\313\210\202^\304\314!\203N\315 \210\202^\304\316!\203Z\317y\210\202^\320\321!\210`U\203\310\322!\210\202\323d!\210m\206t\324 \207" [wisent-python-string-start-re wisent-python-string-re end start looking-at 0 2 "\"\\{3\\}\\|'\\{3\\}" error "unterminated syntax" "\\s<" nil "\\s(" wisent-python-forward-balanced-expression "\\s\\" 1 skip-syntax-forward "-w_.$)" "python-forward-line endless loop detected" forward-comment beginning-of-line] 3 (#$ . 4709)]) #@165 Move point to the next logical line, skipping indented lines. That is the next line whose indentation is less than or equal to the indentation of the current line. (defalias 'wisent-python-forward-line-skip-indented #[nil "\301 \302 \210m?\205\301 V\205\202)\207" [indent current-indentation wisent-python-forward-line] 2 (#$ . 5750)]) #@45 Move point to the end of the current block. (defalias 'wisent-python-end-of-block #[nil "\301 m\204\301 Y\203\302 \210\202\303d[!\210n\206\304y)\207" [indent current-indentation wisent-python-forward-line-skip-indented forward-comment 1] 2 (#$ . 6100)]) #@67 Detect and create Python indentation tokens at beginning of line. (defvar wisent-python-lex-beginning-of-line nil (#$ . 6370)) (defalias 'wisent-python-lex-beginning-of-line #[nil "\300\207" [nil] 1]) (byte-code "\301\300\302M\207" [wisent-python-lex-beginning-of-line ((and (bolp) (not (wisent-python-implicit-line-joining-p)) (let ((last-indent (car wisent-python-indent-stack)) (last-pos (point)) (curr-indent (current-indentation))) (skip-syntax-forward #1="-") (cond ((or (eolp) (looking-at semantic-lex-comment-regex)) (forward-comment (point-max)) (or (eobp) (beginning-of-line)) (setq semantic-lex-end-point (point)) t) ((= curr-indent last-indent) (setq semantic-lex-end-point (point)) nil) ((> curr-indent last-indent) (if (or (not semantic-lex-maximum-depth) (< semantic-lex-current-depth semantic-lex-maximum-depth)) (progn (setq semantic-lex-current-depth (1+ semantic-lex-current-depth)) (push curr-indent wisent-python-indent-stack) (semantic-lex-push-token (semantic-lex-token 'INDENT last-pos (point)))) (semantic-lex-push-token (semantic-lex-token 'INDENT_BLOCK (progn (beginning-of-line) (point)) (semantic-lex-unterminated-syntax-protection 'INDENT_BLOCK (wisent-python-end-of-block) (point))))) t) ((progn (while (< curr-indent last-indent) (pop wisent-python-indent-stack) (setq semantic-lex-current-depth (1- semantic-lex-current-depth) last-indent (car wisent-python-indent-stack)) (semantic-lex-push-token (semantic-lex-token 'DEDENT last-pos (point)))) (= last-pos (point))) nil))))) #[nil "\306``dB\307n\203\310 \204@`\311 \312\313!\210l\2040\314!\203@\315d!\210m\204;\316 \210`\202U\203M`\202V\203\317 \203_\n W\203\221\nTB\317`BB B\211@\211\211A@\247\204\207AA\202\212A)A)\202\320\316 \210`\203\247\203\247\321 \210`\202\253\306\322\323\217BB B\211@\211\211A@\247\204\305AA\202\310A)A)\202W\203\211A@\210\nS@\324`BB B\211@\211\211A@\247\204AA\202A)A)\202\317`U\210+ -\207" [semantic-lex-depth semantic-lex-maximum-depth semantic-lex-current-depth semantic-lex-analysis-bounds semantic-lex-end-point semantic-lex-token-stream nil 0 wisent-python-implicit-line-joining-p current-indentation skip-syntax-forward #1# looking-at forward-comment beginning-of-line INDENT INDENT_BLOCK wisent-python-end-of-block (byte-code "\300 \210`\207" [wisent-python-end-of-block] 1) ((error (byte-code "\304 \n@\nA#b\210`\211)\207" [syntax semantic-lex-unterminated-syntax-end-function semantic-lex-analysis-bounds semantic-lex-end-point INDENT_BLOCK] 4))) DEDENT wisent-python-indent-stack curr-indent last-pos last-indent semantic-lex-comment-regex token debug-on-error semantic-lex-debug-analyzers] 6 "Detect and create Python indentation tokens at beginning of line."]] 2) #@141 Detect and create Python newline tokens. Just skip the newline character if the following line is an implicit continuation of current line. (defvar wisent-python-lex-end-of-line nil (#$ . 9188)) (defalias 'wisent-python-lex-end-of-line #[nil "\300\207" [nil] 1]) (byte-code "\301\300\302M\207" [wisent-python-lex-end-of-line ((looking-at #1="\\(\n\\|\\s>\\)") (if (wisent-python-implicit-line-joining-p) (setq semantic-lex-end-point (match-end 0)) (semantic-lex-push-token (semantic-lex-token 'NEWLINE (point) (match-end 0))))) #[nil "\306``dB\307\310\311!\203B\312 \203\307\225\202B\313`\307\225BB B\211@\211\f\211\fA@\247\204;\fAA\202>\fA)A) -\207" [semantic-lex-depth semantic-lex-maximum-depth semantic-lex-current-depth semantic-lex-analysis-bounds semantic-lex-end-point semantic-lex-token-stream nil 0 looking-at #1# wisent-python-implicit-line-joining-p NEWLINE token] 6 "Detect and create Python newline tokens.\nJust skip the newline character if the following line is an implicit\ncontinuation of current line."]] 2) #@41 Detect and create python string tokens. (defvar wisent-python-lex-string nil (#$ . 10242)) (defalias 'wisent-python-lex-string #[nil "\300\207" [nil] 1]) (byte-code "\301\300\302M\207" [wisent-python-lex-string ((looking-at wisent-python-string-start-re) (semantic-lex-push-token (semantic-lex-token 'STRING_LITERAL (point) (semantic-lex-unterminated-syntax-protection 'STRING_LITERAL (wisent-python-forward-string) (point))))) #[nil "\306``dB\307\310!\203v\311`\203Q\203Q\310!\203I\307\224\307\225Z\312U\203B\310\313!\203B\314\315!\210b*\202L\314\315!\210`\202U\306\316\317\217BB B\211@\211\211A@\247\204oAA\202rA)A) -\207" [semantic-lex-depth semantic-lex-maximum-depth semantic-lex-current-depth semantic-lex-analysis-bounds semantic-lex-end-point semantic-lex-token-stream nil 0 looking-at STRING_LITERAL 2 #1="\"\\{3\\}\\|'\\{3\\}" error #2="unterminated syntax" (byte-code "\303!\203$\304\224\304\225 \nZ\305U\203\303\306!\203\307\310!\210 b*\202'\307\310!\210`\207" [wisent-python-string-re end start looking-at 0 2 #1# error #2#] 2) ((error (byte-code "\304 \n@\nA#b\210`\211)\207" [syntax semantic-lex-unterminated-syntax-end-function semantic-lex-analysis-bounds semantic-lex-end-point STRING_LITERAL] 4))) wisent-python-string-start-re debug-on-error semantic-lex-debug-analyzers wisent-python-string-re end start token] 6 "Detect and create python string tokens."]] 2) #@179 Detect and skip over backslash (explicit line joining) tokens. A backslash must be the last token of a physical line, it is illegal elsewhere on a line outside a string literal. (defvar wisent-python-lex-ignore-backslash nil (#$ . 11687)) (defalias 'wisent-python-lex-ignore-backslash #[nil "\300\207" [nil] 1]) (byte-code "\301\300\302M\207" [wisent-python-lex-ignore-backslash ((looking-at #1="\\s\\\\s-*$") (forward-line) (skip-syntax-forward #2="-") (setq semantic-lex-end-point (point))) #[nil "\306``dB\307\310\311!\203\306y\210\312\313!\210` -\207" [semantic-lex-depth semantic-lex-maximum-depth semantic-lex-current-depth semantic-lex-analysis-bounds semantic-lex-end-point semantic-lex-token-stream nil 0 looking-at #1# skip-syntax-forward #2#] 5 "Detect and skip over backslash (explicit line joining) tokens.\nA backslash must be the last token of a physical line, it is illegal\nelsewhere on a line outside a string literal."]] 2) #@76 Lexical Analyzer for Python code. See `semantic-lex' for more information. (defalias 'wisent-python-lexer #[(start end &optional depth length) "\306\307\310 \n#\210`\306\211 @ A\311BC\206DE \nBF\306G\ndV\2034\312\313\nd#\210\314 pHI\315\216\316J!\210 b\210`\nW\203K\203X\fGKX\203n\203v\317 \204vL@`\320 MNO\321\322!\210l\204|\323P!\203\216\324d!\210m\204\207\325 \210`A\326\202rMOU\203\235`A\306\202rMOV\203'E\203\262BEW\203\347BTBMLBL\327N`BB\fB\211@\211Q\211QA@\247\204\334QAA\202\337QA)A)A\202#\330\325 \210`R\203\375S\203\375\331 \210`\202\306\332\333\217BB\fB\211@\211Q\211QA@\247\204QAA\202QA)A)A\326\202rMOW\203jL\211AL@\210BSBL@O\334N`BB\fB\211@\211Q\211QA@\247\204_QAA\202bQA)A)A\202'N`U\205r\306+\204\235\323\335!\203\261\317 \203\210\311\225A\202\235\336`\311\225BB\fB\211@\211Q\211QA@\247\204\246QAA\202\251QA)A)A\202\235\323T!\203\337`R\203\361S\203\361\323U!\203\351\311\224\311\225\n Z\340U\203\343\323\341!\203\343\312\342!\210\nb*\202\354\312\342!\210`\202\365\306\343\344\217BB\fB\211@\211Q\211QA@\247\204QAA\202QA)A)A\202\235\323V!\203K\345\311\224\311\225BB\fB\211@\211Q\211QA@\247\204@QAA\202CQA)A)A\202\235\323\346!\203\252\347\311!\211WW\350X!\205lW;\205l\351WX\")\211W\205vWJ)\211Y\205\246Y\311\224\311\225BB\fB\211@\211Q\211QA@\247\204\235QAA\202\240QA)A)\211A)\204\235\323\346!\203\332\352\311\224\311\225BB\fB\211@\211Q\211QA@\247\204\317QAA\202\322QA)A)A\202\235\323\353!\203\275\347\311!\354\306Z[\\\355\\[@\"\211Z\203|E\203BEW\2038BTBZA@\311\224\311\225BB\fB\211@\211Q\211QA@\247\204,QAA\202/QA)A)\211A\202\271\340Z8\311\224\212R\203QS\203Q\356\357!\210`\202U\306\360\361\217)BB\fB\211@\211Q\211QA@\247\204pQAA\202sQA)A)\211A\202\271\355\\[A\"\211Z\205\271BSBZA@\311\224\311\225BB\fB\211@\211Q\211QA@\247\204\260QAA\202\263QA)A)\211A+\204\235\323\362!\203B\347\311!]\311\224^\311\225\211_^Z`\363a\306b`\311V\203\377\364]a\"\211b\204\377`S`]\311`O]\202\334b\203b@b^`\\_b\206\365^_BB\fB\211@\211Q\211QA@\247\2044QAA\2027QA)A)\211A.\204\235\323\366!\203U\306y\210\321\322!\210`A\202\235\323\367!\203b\311\225A\202\235\323P!\203\231`c\324\357!\210`c=\203\200\321\370\371 \"\210\202\207n\203\207\372u\210`c=\203\222\312\373!\210`A)\202\235\312\374!\210A@=\203\255\312\375@\f@#\210A@Ab\210d\203\316\376 \204\304\377 \203\316\201ld\201m\"\210\f@Qe\205\373\306f\201n\216Q\203\353\201oQ!f\201p\201q\201rQB#!*)\210\202E+ \203J \211A@\211g\211h\2031\201s\201th@h\211iA@)#\210 \211A@\211h\204g@jkjF@FA#b\210`\211A)\210* b\210\f\237. \207" [semantic-lex-block-streams start end starting-position semantic-lex-token-stream semantic-lex-block-stack nil run-hook-with-args semantic-lex-reset-functions 0 error "wisent-python-lexer: end (%d) > point-max (%d)" syntax-table ((byte-code "rq\210\302 !\210)\302\207" [#1=#:buffer #2=#:table set-syntax-table] 2)) set-syntax-table wisent-python-implicit-line-joining-p current-indentation skip-syntax-forward "-" looking-at forward-comment beginning-of-line t INDENT INDENT_BLOCK wisent-python-end-of-block (byte-code "\300 \210`\207" [wisent-python-end-of-block] 1) ((error (byte-code "\304 \n@\nA#b\210`\211)\207" [syntax semantic-lex-unterminated-syntax-end-function semantic-lex-analysis-bounds semantic-lex-end-point INDENT_BLOCK] 4))) DEDENT "\\(\n\\|\\s>\\)" NEWLINE STRING_LITERAL 2 #3="\"\\{3\\}\\|'\\{3\\}" #4="unterminated syntax" (byte-code "\303!\203$\304\224\304\225 \nZ\305U\203\303\306!\203\307\310!\210 b*\202'\307\310!\210`\207" [wisent-python-string-re end start looking-at 0 2 #3# error #4#] 2) ((error (byte-code "\304 \n@\nA#b\210`\211)\207" [syntax semantic-lex-unterminated-syntax-end-function semantic-lex-analysis-bounds semantic-lex-end-point STRING_LITERAL] 4))) NUMBER_LITERAL "\\(\\sw\\|\\s_\\)+" match-string arrayp intern-soft NAME "\\s(\\|\\s)" ((("(" LPAREN PAREN_BLOCK) ("{" LBRACE BRACE_BLOCK) ("[" LBRACK BRACK_BLOCK)) (")" RPAREN) ("}" RBRACE) ("]" RBRACK)) assoc forward-list 1 (byte-code "\300\301!\210`\207" [forward-list 1] 2) ((error (byte-code "\3058\n @ A#b\210`\211)\207" [#5=#:elt syntax semantic-lex-unterminated-syntax-end-function semantic-lex-analysis-bounds semantic-lex-end-point 2] 4))) "\\(\\s.\\|\\s$\\|\\s'\\)+" ((AT . "@") (BACKQUOTE . "`") (ASSIGN . "=") (COMMA . ",") (SEMICOLON . ";") (COLON . ":") (BAR . "|") (TILDE . "~") (PERIOD . ".") (MINUS . "-") (PLUS . "+") (MOD . "%") (DIV . "/") (MULT . "*") (AMP . "&") (GT . ">") (LT . "<") (HAT . "^") (NE . "!=") (LTGT . "<>") (HATEQ . "^=") (OREQ . "|=") (AMPEQ . "&=") (MODEQ . "%=") (DIVEQ . "/=") (MULTEQ . "*=") (MINUSEQ . "-=") (PLUSEQ . "+=") (LE . "<=") (GE . ">=") (EQ . "==") (EXPONENT . "**") (GTGT . ">>") (LTLT . "<<") (DIVDIV . "//") (DIVDIVEQ . "//=") (EXPEQ . "**=") (GTGTEQ . ">>=") (LTLTEQ . "<<=")) rassoc punctuation "\\s\\\\s-*$" "\\s-+" "-.'" point-at-eol -1 "Strange comment syntax prevents lexical analysis" "Unmatched Text during Lexical Analysis" "wisent-python-lexer: endless loop at %d, after %S" input-pending-p accept-process-output tmp-start semantic-lex-end-point semantic-lex-current-depth depth semantic-lex-depth semantic-lex-maximum-depth semantic-lex-analysis-bounds parse-sexp-lookup-properties #1# #2# semantic-lex-syntax-table length wisent-python-indent-stack curr-indent last-pos last-indent semantic-lex-comment-regex token debug-on-error semantic-lex-debug-analyzers wisent-python-string-start-re wisent-python-string-re semantic-lex-number-expression name semantic-flex-keywords-obarray #6=#:key #5# #7=#:lst #8=#:val #9=#:val #10=#:pos #11=#:end #12=#:len #13=#:lst #14=#:elt comment-start-point semantic-current-input-throw-symbol semantic-lex-debug o last blk x syntax semantic-lex-unterminated-syntax-end-function throw lex ((byte-code "\203\301!\210\301\207" [o semantic-overlay-delete] 2)) semantic-lex-highlight-token semantic-read-event format "%S :: Depth: %d :: SPC - continue" message "wisent-python-lexer: `%s' block from %S is unterminated"] 6 (#$ . 12646)]) #@142 Move a docstring from TAG's members into its :documentation attribute. Set attributes for constructors, special, private and static methods. (defalias 'wisent-python-reconstitute-function-tag #[(tag suite) "@\306 !\203+\n\307\310 !\211\211AA)\211:\203( \311\312 @\f #!\240\210\n,\210)\n\211\313\314\n\315\n8)\f\"+G\316V\203|\n\211\313\314\n\315\n8)\f\"+@\211@)\317\230\203|\n\320\321\211\211AA)\211:\203y \311\312 @\f #!\240\210\n,\210\n\211@)\322\230\203\311\n\323\324\211\211AA)\211:\203\243 \311\312 @\f #!\240\210\n,\210\n\325\211\211AA)\211:\203\303 \311\312 @\f #!\240\210\n,\210\202\326\n!\203\362\n\327\324\211\211AA)\211:\203\354 \311\312 @\f #!\240\210\n,\210\202\330\n!\203\n\331\332\211\211AA)\211:\203 \311\312 @\f #!\240\210\n,\210!\"\333\n\334\314\n\315\n8)\f\"*!\335#\211$\203R$@\211@)\336\230\203I$@#B#$A\211$\2045#\237+\203\210\n\337\340\n\337\314\n\315\n8)\f\"*B\211\211AA)\211:\203\205 \311\312 @\f #!\240\210\n,\210\n\207" [suite first-statement tag value attribute plist-cdr semantic-python-docstring-p :documentation semantic-python-extract-docstring semantic-tag-make-plist plist-put :arguments plist-get 2 0 "self" :parent "dummy" "__init__" :constructor-flag t :suite semantic-python-special-p :special-flag semantic-python-private-p :protection "private" semantic-something-to-tag-table :decorators nil "staticmethod" :typemodifiers "static" semantic-case-fold case-fold-search result tags] 7 (#$ . 18918)]) #@72 Move a docstring from TAG's members into its :documentation attribute. (defalias 'wisent-python-reconstitute-class-tag #[(tag) "\211\306\307\3108) \"+@\311\n!\203j\306\211\306\307\3108) \"+A\211\211AA)\211:\203E\f\312\313\f@ #!\240\210,\210\314\315\n!\211\211AA)\211:\203g\f\312\313\f@ #!\240\210,\210)\211\306\307\3108) \"+\316\211\203c@\211\211\317\307\3108) \"+\203Z \211\320\307\3108) \"+@\211@) \321\307\3108) \"*\316\211\203Y@\322\"\203P\211\211@)\323\316O\206\355\211@)\211A@)\324\3108)!\324\3258)!\3268)\257*\306\307\3108) \"* \327 !\203F \330\331\211\211AA)\211:\203C\f\312\313\f@ #!\240\210,\210\332! C\241\210*A\211\204\310+A\211\204\203*\207" [tag attribute first-member value plist-cdr member :members plist-get 2 semantic-python-docstring-p semantic-tag-make-plist plist-put :documentation semantic-python-extract-docstring nil :constructor-flag :arguments :suite semantic-python-instance-variable-p 5 copy-sequence 3 4 semantic-python-private-p :protection "private" last --dolist-tail-- self statement name members variable] 7 (#$ . 20448)]) #@190 Expand compound declarations found in TAG into separate tags. TAG contains compound declaration if the NAME part of the tag is a list. In python, this can happen with `import' statements. (defalias 'semantic-python-expand-tag #[(tag) "\211A@)\211@)\306\211\307=\205b\n<\205b\n\306\211\203] @\f\f\f\2064\211@)\211A@)\310\3118)!\310\3128)!\3138)\257* B A\211\204\"* \237\211+\207" [tag expand elts class E --dolist-tail-- nil include copy-sequence 2 3 4 name] 7 (#$ . 21653)]) #@379 Lexically analyze Python code in current buffer. See the function `semantic-lex' for the meaning of the START, END, DEPTH and LENGTH arguments. This function calls `wisent-python-lexer' to actually perform the lexical analysis, then emits the necessary Python DEDENT tokens from what remains in the `wisent-python-indent-stack'. Override semantic-lex in `python-mode' buffers. (defalias 'semantic-lex-python-mode #[(start end &optional depth length) "\306C\307 \n \f$\310\n\211A@\306V\203A\311\n\211BB\nB\211\n@\211 \211 A@\247\2046 AA\2029 A)A)\f\202 \n\237\244+\207" [wisent-python-indent-stack start end depth length stream 0 wisent-python-lexer nil DEDENT semantic-lex-token-stream token semantic-lex-end-point] 6 (#$ . 22172)]) (byte-code "\300\301\302\303#\210\304\305\306\307#\207" [put semantic-lex-python-mode definition-name semantic-lex mode-local-bind ((semantic-lex . semantic-lex-python-mode)) (override-flag t) python-mode] 4) #@172 Get the local variables based on point's context. To be implemented for Python! For now just return nil. Override semantic-get-local-variables in `python-mode' buffers. (defalias 'semantic-get-local-variables-python-mode #[nil "\300\207" [nil] 1 (#$ . 23140)]) (byte-code "\300\301\302\303#\210\304\305\306\307#\207" [put semantic-get-local-variables-python-mode definition-name semantic-get-local-variables mode-local-bind ((semantic-get-local-variables . semantic-get-local-variables-python-mode)) (override-flag t) python-mode] 4) #@117 Return a suitable path for (some) Python imports. Override semantic-tag-include-filename in `python-mode' buffers. (defalias 'semantic-tag-include-filename-python-mode #[(tag) "\211@)\302\303\304 \305\"\306#\307P)\207" [tag name mapconcat identity split-string "\\." "/" ".py"] 6 (#$ . 23683)]) (byte-code "\300\301\302\303#\210\304\305\306\307#\207" [put semantic-tag-include-filename-python-mode definition-name semantic-tag-include-filename mode-local-bind ((semantic-tag-include-filename . semantic-tag-include-filename-python-mode)) (override-flag t) python-mode] 4) #@311 Return the current function call the cursor is in at POINT. The function returned is the one accepting the arguments that the cursor is currently in. It will not return function symbol if the cursor is on the text representing that function. Override semantic-ctxt-current-function in `python-mode' buffers. (defalias 'semantic-ctxt-current-function-python-mode #[(&optional point) "\300\207" [nil] 1 (#$ . 24266)]) (byte-code "\300\301\302\303#\210\304\305\306\307#\207" [put semantic-ctxt-current-function-python-mode definition-name semantic-ctxt-current-function mode-local-bind ((semantic-ctxt-current-function . semantic-ctxt-current-function-python-mode)) (override-flag t) python-mode] 4) #@220 Return the current assignment near the cursor at POINT. Return a list as per `semantic-ctxt-current-symbol'. Return nil if there is nothing relevant. Override semantic-ctxt-current-assignment in `python-mode' buffers. (defalias 'semantic-ctxt-current-assignment-python-mode #[(&optional point) "\300\207" [nil] 1 (#$ . 24972)]) (byte-code "\300\301\302\303#\210\304\305\306\307#\207" [put semantic-ctxt-current-assignment-python-mode definition-name semantic-ctxt-current-assignment mode-local-bind ((semantic-ctxt-current-assignment . semantic-ctxt-current-assignment-python-mode)) (override-flag t) python-mode] 4) #@25 Setup buffer for parse. (defalias 'wisent-python-default-setup #[nil "\306 \210\307\300!\210\310 \204\307\301!\210\311\312\313\314\315\316\317\211\207" [parse-sexp-ignore-comments comment-start-skip semantic-type-relation-separator-character semantic-command-separation-character semantic-tag-expand-function imenu-create-index-function wisent-python-wy--install-parser make-local-variable t "#+\\s-*" (".") ";" semantic-python-expand-tag semantic-create-imenu-index ((variable . "Variables") (function . "Methods")) ((type . "Classes") (variable . "Variables") (function . "Functions") (include . "Imports") (package . "Package") (code . "Code")) semantic-symbol->name-assoc-list-for-type-parts semantic-symbol->name-assoc-list] 2 (#$ . 25596)]) (byte-code "\302\303\304\"\210\305\306\307 \310#\210\311\312 \"*\210\313\306\307 \310#\210\311\312 \"*\207" [parent mode add-hook python-mode-hook wisent-python-default-setup python-2-mode python-mode put mode-local-parent mode-local-map-mode-buffers activate-mode-local-bindings python-3-mode] 4) #@82 Return non-nil if the name of TAG is a special identifier of the form __NAME__.  (defalias 'semantic-python-special-p #[(tag) "\301\302\211@)\"\207" [tag string-match "\\`__\\s_+__\\'"] 4 (#$ . 26665)]) #@83 Return non-nil if the name of TAG follows the convention _NAME for private names. (defalias 'semantic-python-private-p #[(tag) "\301\302\211@)\"\207" [tag string-match "\\`_\\s_*\\'"] 4 (#$ . 26876)]) #@112 Return non-nil if TAG is an instance variable of the instance SELF or the instance name "self" if SELF is nil. (defalias 'semantic-python-instance-variable-p #[(tag &optional self) "\304\211\211A@) *=\2052\211@)\305\306\307\310 \206\311\312BBB!\n\"\2051\305\313\n\314\315O\"?)\207" [tag class name self variable string-match rx-to-string seq string-start "self" (".") "\\." 5 nil] 7 (#$ . 27086)]) #@60 Return non-nil, when TAG is a Python documentation string. (defalias 'semantic-python-docstring-p #[(tag) "\211A@)\211@)\211\303=\205\304\305 \"*\207" [tag name class code string-match "\\`\"\"\"\\(?:.\\|\n\\)*\"\"\"\\'"] 4 (#$ . 27501)]) #@58 Return the Python documentation string contained in TAG. (defalias 'semantic-python-extract-docstring #[(tag) "\211@)\211\302\303O)\207" [tag name 3 -3] 4 (#$ . 27754)]) #@46 Run `wisent-python-lexer' on current buffer. (defalias 'wisent-python-lex-buffer #[nil "\301 \210\302ed\303#r\304\305!q\210\306 \210\307p\"\210eb\210\310p!*\207" [token-stream semantic-lex-init semantic-lex 0 get-buffer-create "*wisent-python-lexer*" erase-buffer pp pop-to-buffer] 4 (#$ . 27933) nil]) (provide 'semantic/wisent/python)