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/net
Viewing File: /usr/share/emacs/24.3/lisp/net/xesam.elc
;ELC ;;; Compiled by mockbuild@buildfarm01-new.corp.cloudlinux.com on Tue Nov 11 12:55:38 2025 ;;; from file /builddir/build/BUILD/emacs-24.3/lisp/net/xesam.el ;;; in Emacs version 24.3.1 ;;; with all optimizations. ;;; This file uses dynamic docstrings, first added in Emacs 19.29. ;;; This file does not contain utf-8 non-ASCII characters, ;;; and so can be loaded in Emacs versions earlier than 23. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (byte-code "\300\301!\210\300\302!\210\300\303!\210\300\304!\210\300\305!\210\306\307\310\311\312\313\312\314\315\316& \210\317\320\321\322\312\307\323\324&\210\317\325\326\327\312\307\323\330&\210\331\332\333\334\312\307%\210\331\335\336\337\312\307%\207" [require dbus widget wid-edit timer url custom-declare-group xesam nil "Xesam compatible interface to search engines." :group extensions comm :version "23.1" custom-declare-variable xesam-query-type 'user-query "Xesam query language type." :type (choice (const :tag "Xesam user query" user-query) (const :tag "Xesam fulltext query" fulltext-query)) xesam-hits-per-page 20 "Number of search hits to be displayed in the result buffer." integer custom-declare-face xesam-mode-line ((t :inherit mode-line-emphasis)) "Face to highlight mode line." xesam-highlight ((t :inherit match)) "Face to highlight query entries.\nIt will be overlaid by `widget-documentation-face', so it shall\nbe different at least in one face property not set in that face."] 10) #@44 Insert debug information in the help echo. (defvar xesam-debug nil (#$ . 1562)) #@39 The D-Bus name used to talk to Xesam. (defconst xesam-service-search "org.freedesktop.xesam.searcher" (#$ . 1648)) #@46 The D-Bus object path used to talk to Xesam. (defconst xesam-path-search "/org/freedesktop/xesam/searcher/main" (#$ . 1769)) #@35 The D-Bus Xesam search interface. (defconst xesam-interface-search "org.freedesktop.xesam.Search" (#$ . 1900)) #@130 All fields from the Xesam Core Ontology. This defconst can be used to check for a new search engine, which fields are supported. (defconst xesam-all-fields '("xesam:35mmEquivalent" "xesam:aimContactMedium" "xesam:aperture" "xesam:aspectRatio" "xesam:attachmentEncoding" "xesam:attendee" "xesam:audioBitrate" "xesam:audioChannels" "xesam:audioCodec" "xesam:audioCodecType" "xesam:audioSampleFormat" "xesam:audioSampleRate" "xesam:author" "xesam:bcc" "xesam:birthDate" "xesam:blogContactURL" "xesam:cameraManufacturer" "xesam:cameraModel" "xesam:cc" "xesam:ccdWidth" "xesam:cellPhoneNumber" "xesam:characterCount" "xesam:charset" "xesam:colorCount" "xesam:colorSpace" "xesam:columnCount" "xesam:comment" "xesam:commentCharacterCount" "xesam:conflicts" "xesam:contactMedium" "xesam:contactName" "xesam:contactNick" "xesam:contactPhoto" "xesam:contactURL" "xesam:contains" "xesam:contenKeyword" "xesam:contentComment" "xesam:contentCreated" "xesam:contentModified" "xesam:contentType" "xesam:contributor" "xesam:copyright" "xesam:creator" "xesam:definesClass" "xesam:definesFunction" "xesam:definesGlobalVariable" "xesam:deletionTime" "xesam:depends" "xesam:description" "xesam:device" "xesam:disclaimer" "xesam:documentCategory" "xesam:duration" "xesam:emailAddress" "xesam:eventEnd" "xesam:eventLocation" "xesam:eventStart" "xesam:exposureBias" "xesam:exposureProgram" "xesam:exposureTime" "xesam:faxPhoneNumber" "xesam:fileExtension" "xesam:fileSystemType" "xesam:flashUsed" "xesam:focalLength" "xesam:focusDistance" "xesam:formatSubtype" "xesam:frameCount" "xesam:frameRate" "xesam:freeSpace" "xesam:gender" "xesam:generator" "xesam:generatorOptions" "xesam:group" "xesam:hash" "xesam:hash" "xesam:height" "xesam:homeEmailAddress" "xesam:homePhoneNumber" "xesam:homePostalAddress" "xesam:homepageContactURL" "xesam:horizontalResolution" "xesam:icqContactMedium" "xesam:id" "xesam:imContactMedium" "xesam:interests" "xesam:interlaceMode" "xesam:isEncrypted" "xesam:isImportant" "xesam:isInProgress" "xesam:isPasswordProtected" "xesam:isRead" "xesam:isoEquivalent" "xesam:jabberContactMedium" "xesam:keyword" "xesam:language" "xesam:legal" "xesam:license" "xesam:licenseType" "xesam:lineCount" "xesam:links" "xesam:mailingPostalAddress" "xesam:maintainer" "xesam:md5Hash" "xesam:mediaCodec" "xesam:mediaCodecBitrate" "xesam:mediaCodecType" "xesam:meteringMode" "xesam:mimeType" "xesam:mountPoint" "xesam:msnContactMedium" "xesam:name" "xesam:occupiedSpace" "xesam:orientation" "xesam:originalLocation" "xesam:owner" "xesam:pageCount" "xesam:permissions" "xesam:phoneNumber" "xesam:physicalAddress" "xesam:pixelFormat" "xesam:primaryRecipient" "xesam:programmingLanguage" "xesam:rating" "xesam:receptionTime" "xesam:recipient" "xesam:related" "xesam:remoteUser" "xesam:rowCount" "xesam:sampleBitDepth" "xesam:sampleFormat" "xesam:secondaryRecipient" "xesam:sha1Hash" "xesam:size" "xesam:skypeContactMedium" "xesam:sourceCreated" "xesam:sourceModified" "xesam:storageSize" "xesam:subject" "xesam:supercedes" "xesam:title" "xesam:to" "xesam:totalSpace" "xesam:totalUncompressedSize" "xesam:url" "xesam:usageIntensity" "xesam:userComment" "xesam:userKeyword" "xesam:uuid" "xesam:version" "xesam:verticalResolution" "xesam:videoBitrate" "xesam:videoCodec" "xesam:videoCodecType" "xesam:whiteBalance" "xesam:width" "xesam:wordCount" "xesam:workEmailAddress" "xesam:workPhoneNumber" "xesam:workPostalAddress" "xesam:yahooContactMedium") (#$ . 2018)) #@27 The Xesam user query XML. (defconst xesam-user-query "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<request xmlns=\"http://freedesktop.org/standards/xesam/1.0/query\">\n <userQuery>\n %s\n </userQuery>\n</request>" (#$ . 5465)) #@31 The Xesam fulltext query XML. (defconst xesam-fulltext-query "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<request xmlns=\"http://freedesktop.org/standards/xesam/1.0/query\">\n <query content=\"xesam:Document\" source=\"xesam:File\">\n <fullText>\n <string>%s</string>\n </fullText>\n </query>\n</request>" (#$ . 5703)) #@61 The unique names, under which Emacs is registered at D-Bus. (defvar xesam-dbus-unique-names (byte-code "\300\301\300!B\302\301\302!BD\207" [:system dbus-get-unique-name :session] 4) (#$ . 6042)) #@278 Apply a D-Bus method call. `dbus-call-method' is preferred, because it performs better. If the target D-Bus service is owned by Emacs, this is not applicable, and `dbus-call-method-non-blocking' must be used instead. ARGS are identical to the argument list of both functions. (defalias 'xesam-dbus-call-method #[(&rest args) "\303\304@ \"A\211A@)\230\203\305\202\306\"\207" [args xesam-dbus-unique-names x apply assoc dbus-call-method-non-blocking dbus-call-method] 5 (#$ . 6244)]) #@38 Return the PROPERTY value of ENGINE. (defalias 'xesam-get-property #[(engine property) "\304\305@ \n\306\307\310\" &@\207" [engine xesam-path-search xesam-interface-search property xesam-dbus-call-method :session "GetProperty" xesam-get-cached-property "session"] 9 (#$ . 6741)]) #@282 Set the PROPERTY of ENGINE to VALUE. VALUE can be a string, a non-negative integer, a boolean value (nil or t), or a list of them. It returns the new value of PROPERTY in the search engine. This new value can be different from VALUE, depending on what the search engine accepts. (defalias 'xesam-set-property #[(engine property value) "\305\306@ \n\307\310\311\" \312\fD&@\207" [engine xesam-path-search xesam-interface-search property value xesam-dbus-call-method :session "SetProperty" xesam-get-cached-property "session" :variant] 10 (#$ . 7031)]) #@29 Interactive vendor history. (defvar xesam-minibuffer-vendor-history nil (#$ . 7593)) #@28 Interactive query history. (defvar xesam-minibuffer-query-history nil (#$ . 7684)) (defvar xesam-vendor nil) (byte-code "\300\301!\210\302\301\303\304#\207" [make-variable-buffer-local xesam-vendor put permanent-local t] 4) (defvar xesam-engine nil) (defvar xesam-search nil) (defvar xesam-type nil) (defvar xesam-query nil) (defvar xesam-xml-string nil) (defvar xesam-objects nil) (defvar xesam-current nil) (defvar xesam-count nil) (defvar xesam-to nil) (defvar xesam-notify-function nil) (defvar xesam-refreshing nil) #@631 List of available Xesam search engines. Every entry is an association list, with a car denoting the unique D-Bus service name of the engine. The rest of the entry are cached associations of engine attributes, like the session identifier, and the display name. Example: ((":1.59" ("session" . "0t1214948020ut358230u0p2698r3912347765k3213849828") ("vendor.display" . "Tracker Xesam Service")) (":1.27" ("session" . "strigisession1369133069") ("vendor.display" . "Strigi Desktop Search"))) A Xesam-compatible search engine is identified as a queued D-Bus service of the known service `xesam-service-search'. (defvar xesam-search-engines nil (#$ . 8212)) #@113 Return the PROPERTY value of ENGINE from the cache. If PROPERTY is not existing, retrieve it from ENGINE first. (defalias 'xesam-get-cached-property #[(engine property) "\302 \"\204\303 \304 \"#\210\302 \"A\207" [property engine assoc xesam-set-cached-property xesam-get-property] 6 (#$ . 8895)]) #@51 Set the PROPERTY of ENGINE to VALUE in the cache. (defalias 'xesam-set-cached-property #[(engine property value) "\303A \nBC\"\241\207" [engine property value append] 5 (#$ . 9204)]) #@45 Remove service from `xesam-search-engines'. (defalias 'xesam-delete-search-engine #[(&rest args) "\302\303@ \" \"\211\207" [args xesam-search-engines delete assoc] 4 (#$ . 9395)]) #@209 Return Xesam search engines, stored in `xesam-search-engines'. The first search engine is the name owner of `xesam-service-search'. If there is no registered search engine at all, the function returns `nil'. (defalias 'xesam-search-engines #[nil "\306\307\310\217\311\211\211\211\311\211\203\235 @\312\f\f\"\204\226\313\314\fC\315#\210\316\f\f\"\317\n\320\321\322\f()\323%#\210\324\n\325\311#\210\326\n\327\"\326\n\330\"\331 !\211*\332=\203X\333\202z*\334=\203c\335\202z*\336=\203n\337\202z*\340=\203y\341\202z\342)\324\n\330#\210\324\n\343\344#\210\345\322+,-\346\347\f&\210 A\211\204.\f\207" [hit-fields vendor-id engine services service --dolist-tail-- err (dbus-list-queued-owners :session xesam-service-search) ((dbus-error (byte-code "\205\n\302 @ A\"\207" [dbus-debug err signal] 3))) nil assoc-string add-to-list xesam-search-engines append assoc xesam-set-cached-property "session" xesam-dbus-call-method :session "NewSession" xesam-set-property "search.live" xesam-get-property "vendor.id" "hit.fields" intern Beagle ("xesam:mimeType" "xesam:url") Strigi ("xesam:author" "xesam:cc" "xesam:charset" "xesam:contentType" "xesam:fileExtension" "xesam:id" "xesam:lineCount" "xesam:links" "xesam:mimeType" "xesam:name" "xesam:size" "xesam:sourceModified" "xesam:subject" "xesam:to" "xesam:url") TrackerXesamSession ("xesam:relevancyRating" "xesam:url") Debbugs ("xesam:keyword" "xesam:owner" "xesam:title" "xesam:url" "xesam:sourceModified" "xesam:mimeType" "debbugs:key") ("xesam:contentModified" "xesam:mimeType" "xesam:summary" "xesam:title" "xesam:url" "yahoo:displayUrl") "hit.fields.extended" ("xesam:snippet") dbus-register-signal "NameOwnerChanged" xesam-delete-search-engine xesam-path-search xesam-interface-search #1=#:val dbus-service-dbus dbus-path-dbus dbus-interface-dbus] 10 (#$ . 9584)]) (defvar xesam-mode-map (byte-code "\303!\304 \n\"\210 )\207" [special-mode-map map widget-keymap copy-keymap set-keymap-parent] 3)) (byte-code "\300\301N\204\302\300\301\303\304!#\210\305\306!\204\302\306\307\310#\210\300\207" [xesam-mode-hook variable-documentation put purecopy "Hook run when entering Xesam mode.\nNo problems result if this variable is not bound.\n`add-hook' automatically binds it. (This is true for all hook variables.)" boundp xesam-mode-map definition-name xesam-mode] 5) (defvar xesam-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" [xesam-mode-map variable-documentation put purecopy "Keymap for `xesam-mode'." boundp xesam-mode-syntax-table definition-name xesam-mode] 5) (defvar xesam-mode-syntax-table (make-syntax-table)) (byte-code "\300\301N\204\302\300\301\303\304!#\210\302\305\306\307#\207" [xesam-mode-syntax-table variable-documentation put purecopy "Syntax table for `xesam-mode'." xesam-mode-abbrev-table definition-name xesam-mode] 5) (defvar xesam-mode-abbrev-table (progn (define-abbrev-table 'xesam-mode-abbrev-table nil) xesam-mode-abbrev-table)) (byte-code "\300\301N\204\302\300\301\303\304!#\210\302\305\306\307#\207" [xesam-mode-abbrev-table variable-documentation put purecopy "Abbrev table for `xesam-mode'." xesam-mode derived-mode-parent special-mode] 5) #@327 Major mode for presenting search results of a Xesam search. In this mode, widgets represent the search results. \{xesam-mode-map} Turning on Xesam mode runs the normal hook `xesam-mode-hook'. It can be used to set `xesam-notify-function', which must a search engine specific, widget :notify function to visualize xesam:url. (defalias 'xesam-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)\3244\325\"\204V45=\204V\3264\3255C#\210\327 !\210\330\f!\21045\306\331!\210\332\306\333!\210\334\306\335!\210\332\306\336!\210\332\306\337!\210\340\306\341!\210\340!\306\342!\210\340\"\306\343!\210\332#\306\344!\210\345$\306\346!\210\345&\306\347!\2106'\306\331!\210\332\306\350!\210\332(\306\351!\210\352\353D)\306\354!\210\355\356D,\357\360!\204\340\307\21178\361 \210))\362\363!\207" [delay-mode-hooks major-mode mode-name xesam-mode-map xesam-mode-syntax-table parent make-local-variable t special-mode xesam-mode "Xesam" mode-class put keymap-parent set-keymap-parent current-local-map char-table-parent standard-syntax-table set-char-table-parent syntax-table abbrev-table-get :parents abbrev-table-put use-local-map set-syntax-table xesam-notify-function nil revert-buffer-function ignore xesam-engine xesam-search xesam-type "" xesam-query xesam-xml-string xesam-objects xesam-current 0 xesam-count xesam-to xesam-refreshing mode-line-position (-3 "%p%") (10 (:eval (format " (%d/%d)" xesam-current xesam-count))) header-line-format (20 (:eval (list "Type: " (propertize xesam-type 'face 'xesam-mode-line)))) (10 (:eval (list " Query: " (propertize xesam-query 'face 'xesam-mode-line 'help-echo (when xesam-debug xesam-xml-string))))) called-interactively-p interactive erase-buffer run-mode-hooks xesam-mode-hook xesam-mode-abbrev-table local-abbrev-table xesam-hits-per-page buffer-read-only inhibit-read-only] 6 (#$ . 12841) nil]) (byte-code "\301\302\303\304#\210\305\306!rq\210\307\216\302 \210+\301\207" [#1=#:temp-buffer put xesam-mode disabled t generate-new-buffer " *temp*" ((byte-code "\301!\203\n\302!\210\301\207" [#1# buffer-name kill-buffer] 2))] 4) #@101 Non-nil if Xesam minor mode is enabled. Use the command `xesam-minor-mode' to change this variable. (defvar xesam-minor-mode nil (#$ . 15071)) (make-variable-buffer-local 'xesam-minor-mode) #@300 Toggle Xesam minor mode. With a prefix argument ARG, enable Xesam minor mode if ARG is positive, and disable it otherwise. If called from Lisp, enable the mode if ARG is omitted or nil. When Xesam minor mode is enabled, all text which matches a previous Xesam query in this buffer is highlighted. (defalias 'xesam-minor-mode #[(&optional arg) "\306  \307=\203\n?\202\310 !\311V\312\303!\203v\212\n\203T\313\314 \315\316#\316\"\316#\2042\317 \210\320 \316\"\210eb\210\321 \315\316#\203P\322\323\311\224\311\225\"\324\325#\210\202:*\202u\326ed\"\315$\211%\203t%@$\327$!\210%A\211%\204a*)\330\331\n\203\200\332\202\201\333\"\210\334\335!\203\242\306 \203\225\306 \232\203\242\336\337\n\203\237\340\202\240\341\"\210)\342 \210\n\207" [#1=#:last-message arg xesam-minor-mode xesam-query case-fold-search query-regexp current-message toggle prefix-numeric-value 0 local-variable-p regexp-opt split-string nil t isearch-toggle-case-fold isearch-update-ring re-search-forward overlay-put make-overlay face xesam-highlight overlays-in delete-overlay run-hooks xesam-minor-mode-hook xesam-minor-mode-on-hook xesam-minor-mode-off-hook called-interactively-p any message "Xesam minor mode %sabled" "en" "dis" force-mode-line-update isearch-case-fold-search ov --dolist-tail--] 6 (#$ . 15268) (list (or current-prefix-arg 'toggle))]) (byte-code "\301\302\303\304\300!\205\n\305\211%\207" [xesam-minor-mode-map add-minor-mode xesam-minor-mode " Xesam" boundp nil] 6) #@201 Return the buffer name where to present search results. SERVICE is the D-Bus unique service name of the Xesam search engine. SEARCH is the search identification in that engine. Both must be strings. (defalias 'xesam-buffer-name #[(service search) "\302\303 #\207" [service search format "*%s/%s*"] 4 (#$ . 16764)]) #@69 Highlight text enclosed by <b> and </b>. Return propertized STRING. (defalias 'xesam-highlight-string #[(string) "\301\302\"\203\303\304\305\306\"\307\305\310\"\311\312#\305\313\"$\202\207" [string string-match "\\(.*\\)\\(<b>\\)\\(.*\\)\\(</b>\\)\\(.*\\)" format "%s%s%s" match-string 1 propertize 3 face xesam-highlight 5] 7 (#$ . 17087)]) #@43 Refreshes one entry in the search buffer. (defalias 'xesam-refresh-entry #[(engine entry) "S 8\306\307\310!\f\203\311 \312\313#\210\314 \315\"\306@\211A\203\234A@@\n\211B@@);\203@\316\n\211B@@)G!?\202c\n\211B@@)\247\203X\316\n\211B@@)!?\202c\n\211B@@)\203\220\317\203\220\f\203\311 \312\320\321\322 \312\"@\n\211B@@)$#\210\311 \323\324@P!\n\211B@@)#\210\nAAA\211A\204\"*\325\322 \326\"!\211C\327HD>\204\264\330\331\332\333#\210C\334H)\204\307\311 \326\335\322 \326\"P#\210\336 \337\"\203\341\322 \337\";\203\341\311 \337\340\322 \326\"!#\210\336 \341\"\203\364\311 \342\322 \341\"#\210\202*\336 \343\"\203\311 \342\322 \343\"#\210\202*\336 \344\"\203\311 \342\322 \344\"#\210\202*\336 \345\"\203*\311 \342\322 \345\"#\210\336 \342\"\203<\311 \342\346\322 \342\"!#\210\336 \347\"\203i\316\340\322 \347\"!!\204i\311 \342\320\350\322 \342\"\206[\313\351\352\353\340\322 \347\"!!\"##\210\311 \354\322 \326\"#\210E\203\201\311 \355E#\210\202\341\336 \344\"\203\230\322 \344\"\356\230\203\230 \357\240\210\202\341\360\361\325\322 \326\"!\211C\327HD>\204\261\330\331\332\333#\210C\334H)\"\203\341\311 \355\362#\210\311 \354\325\322 \326\"!\211C\327HD>\204\332\330\331\363\333#\210C\364H)#\210\336 \365\"\203\364\311 \366\322 \365\"#\210\202\336 \367\"\203\311 \366\322 \367\"#\210\336 \366\"\2035\370\371!FrFq\210\372\216\346\322 \366\"!c\210\373ed\"\210\311 \366\374 #\210+\311 \312\322 \366\"#\210\311 \375\320\376\336 \342\"\203F\377\202G\313\336 \366\"\203T\201G\202U\313$#\210db\210\201H !\210\201I\306!\210\201J \210\201K *\207" [xesam-current xesam-objects result widget xesam-debug engine nil widget-convert link widget-put :help-echo "" xesam-get-cached-property "hit.fields" zerop t format "%s%s: %s\n" widget-get intern ":" url-generic-parse-url :xesam:url 0 error "%s accessing a non-%s" url-type url 1 "file://" widget-member :xesam:size string-to-number :xesam:title :tag :xesam:subject :xesam:mimeType :xesam:name xesam-highlight-string :xesam:sourceModified "%s\nLast Modified: %s" format-time-string "%d %B %Y, %T" seconds-to-time :value :notify "text/html" url-link string-match "file" #[(widget &rest ignore) "\305\306\307\n!!\211\310H\f>\204\311\312\313\314#\210 \315H)!\210\316\300!\210 \317\320!)\207" [xesam-query query widget cl-x cl-struct-url-tags find-file url-generic-parse-url widget-value 0 error "%s accessing a non-%s" url-filename url 6 make-local-variable xesam-minor-mode 1] 6] url-filename 6 :xesam:summary :doc :xesam:snippet generate-new-buffer " *temp*" ((byte-code "\301!\203\n\302!\210\301\207" [#1=#:temp-buffer buffer-name kill-buffer] 2)) fill-region-as-paragraph buffer-string :format "%d. %s%%[%%v%%]\n%s\n" "%{%t%}\n" field --dolist-tail-- x cl-x cl-struct-url-tags xesam-notify-function #1# "%h" widget-default-create set-buffer-modified-p force-mode-line-update redisplay] 14 (#$ . 17445)]) #@28 Retrieve hits from ENGINE. (defalias 'xesam-get-hits #[(engine search hits) "r\306@ \"q\210\307\n\310\311@ \f\312 &\"\211)\207" [engine search xesam-objects xesam-path-search xesam-interface-search hits xesam-buffer-name append xesam-dbus-call-method :session "GetHits"] 10 (#$ . 20379)]) #@53 Refreshes the buffer, presenting results of SEARCH. (defalias 'xesam-refresh-search-buffer #[(engine search) "r\306@ \"q\210\n\206 \fY?\205\223\307\310\216\311\f^GV\2037\312 \f^GZ^#\210\202 \f^W\203K T\313 \"\210\2027\fV\203_db\210\314\315\316\317\320$\210\321 \210\f\\^GV\203\312 \211\f\\^GZ^#\210 U\205\222db\210\314\315\316\322\323$\210\321 *)\207" [engine search xesam-refreshing xesam-current xesam-to widget xesam-buffer-name t ((byte-code "\301\211\207" [xesam-refreshing nil] 2)) nil xesam-get-hits xesam-refresh-entry widget-create link :notify #[(widget &rest ignore) " \\\305\n!\210\306 \f\"\207" [xesam-to xesam-hits-per-page widget xesam-engine xesam-search widget-delete xesam-refresh-search-buffer] 3] "NEXT" widget-beginning-of-line ignore "DONE" xesam-count xesam-objects xesam-hits-per-page] 6 (#$ . 20679)]) #@56 Handles the different D-Bus signals of a Xesam search. (defalias 'xesam-signal-handler #[(&rest args) "\306!\307! @\310 \f\"\311 !\205Fr q\210\n\312\230\2036 A@\\\313\314\315\316\317 \"\f%\202E\n\320\230\205E\321\322\323\324#\325 ),\207" [last-input-event service member args search buffer dbus-event-service-name dbus-event-member-name xesam-buffer-name get-buffer "HitsAdded" run-at-time 0 nil xesam-refresh-search-buffer assoc "SearchDone" propertize " Done" face xesam-mode-line force-mode-line-update xesam-count xesam-search-engines mode-line-process] 7 (#$ . 21562)]) #@34 Send the CloseSearch indication. (defalias 'xesam-kill-buffer-function #[nil "\302=\205 ;\205\303\304\305\217\207" [major-mode xesam-search xesam-mode nil (byte-code "\304\305@ \n\306 &\207" [xesam-engine xesam-path-search xesam-interface-search xesam-search xesam-dbus-call-method :session "CloseSearch"] 7) ((error))] 3 (#$ . 22161)]) #@240 Create a new search session. ENGINE identifies the search engine. TYPE is the query type, it can be either `fulltext-query', or `user-query'. QUERY is a string in the Xesam query language. A string, identifying the search, is returned. (defalias 'xesam-new-search #[(engine type query) "@\306\307\"\310 \311=\203\f\202 \312&!\"'\313\314 ()\315\n'&*\316\314 ()\317\320*&\210\316\314 ()\321\320*&\210r\322\323 *\"!q\210\324p!\210\306\325\"+\326 \210,*-\327 !.&/'0\33012\204\202\331\332+!D\202\214\333+\334\335\336\337\340##3\341\342\343\"\210\344 \210)\313\314@()\345*&\210*,\207" [engine service session type xesam-user-query xesam-fulltext-query xesam-get-cached-property "session" format user-query url-insert-entities-in-string xesam-dbus-call-method :session "NewSearch" dbus-register-signal "HitsAdded" xesam-signal-handler "SearchDone" generate-new-buffer xesam-buffer-name switch-to-buffer-other-window "vendor.id" xesam-mode symbol-name nil 12 propertized-buffer-identification propertize help-echo mapconcat #[(x) "\302\303\304 \"#\207" [x engine format "%s: %s" xesam-get-cached-property] 6] ("vendor.id" "vendor.version" "vendor.display" "vendor.xesam" "vendor.ontology.fields" "vendor.ontology.contents" "vendor.ontology.sources" "vendor.extensions" "vendor.ontologies" "vendor.maxhits") "\n" add-hook kill-buffer-hook xesam-kill-buffer-function force-mode-line-update "StartSearch" query xml-string xesam-path-search xesam-interface-search search xesam-vendor xesam-engine xesam-search xesam-type xesam-query xesam-xml-string xesam-objects xesam-debug mode-line-buffer-identification] 8 (#$ . 22512)]) #@443 Perform an interactive search. ENGINE is the Xesam search engine to be applied, it must be one of the entries of `xesam-search-engines'. QUERY is the search string in the Xesam user query language. If the search engine does not support the Xesam user query language, a Xesam fulltext search is applied. The default search engine is the first entry in `xesam-search-engines'. Example: (xesam-search (car (xesam-search-engines)) "emacs") (defalias 'xesam-search #[(engine query) "\204\303\304!\207\305 G!\203\303\306!\207\307\n #\207" [engine query xesam-query-type message "No search engine running" zerop "No query applied" xesam-new-search] 4 (#$ . 24186) (let* ((vendors (mapcar #'(lambda (x) (xesam-get-cached-property x "vendor.display")) (xesam-search-engines))) (vendor (if (> (length vendors) 1) (completing-read "Enter search engine: " vendors nil t (try-completion "" vendors) 'xesam-minibuffer-vendor-history) (car vendors)))) (list (if vendor (progn (let ((--dolist-tail-- (xesam-search-engines)) elt) (while --dolist-tail-- (setq elt (car --dolist-tail--)) (if (string-equal (xesam-get-cached-property elt "vendor.display") vendor) (progn (setq engine elt))) (setq --dolist-tail-- (cdr --dolist-tail--))) (setq elt nil) engine))) (if vendor (progn (read-from-minibuffer "Enter search string: " nil nil nil 'xesam-minibuffer-query-history)))))]) (provide 'xesam)