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/gnus
Viewing File: /usr/share/emacs/24.3/lisp/gnus/nnrss.elc
;ELC ;;; Compiled by mockbuild@buildfarm01-new.corp.cloudlinux.com on Tue Nov 11 12:55:12 2025 ;;; from file /builddir/build/BUILD/emacs-24.3/lisp/gnus/nnrss.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!\204 \302\301\303\304B\"\210\305\306!\210\305\307!\210\305\310!\210\305\311!\210\305\312!\210\305\313!\210\305\314!\210\305\315!\210\305\316!\210\305\317!\210\305\320!\207" [fboundp declare-function defalias macro #[(&rest r) "\300\207" [nil] 1] require gnus nnoo nnmail message mm-util gnus-util time-date rfc2231 mm-url rfc2047 mml] 4) (require 'xml) (byte-code "\302\236\203\302\236A\303\304\305\"\240\210\202\302\303\304\305\"\305\211FB\302 \236\204*\302\306D B\305\207" [nnoo-definition-alist nnoo-state-alist nnrss mapcar list nil "*internal-non-initialized-backend*"] 4) #@106 Where nnrss will save its files. This is a Gnus server variable. See Info node `(gnus)Select Methods'. (defvar nnrss-directory (nnheader-concat gnus-directory "rss/") (#$ . 1164)) (nnoo-define 'nnrss-directory nil) #@503 *List of fields that should be ignored when comparing RSS articles. Some RSS feeds update article fields during their lives, e.g. to indicate the number of comments or the number of times the articles have been seen. However, if there is a difference between the local article and the distant one, the latter is considered to be new. To avoid this and discard some fields, set this variable to the list of fields to be ignored. This is a Gnus server variable. See Info node `(gnus)Select Methods'. (defvar nnrss-ignore-article-fields '(slash:comments) (#$ . -1388)) (nnoo-define 'nnrss-ignore-article-fields nil) (defvar nnrss-server-data nil) (nnoo-define 'nnrss-server-data nil) (defvar nnrss-group-data nil) (nnoo-define 'nnrss-group-data nil) (defvar nnrss-group-max 0) (nnoo-define 'nnrss-group-max nil) (defvar nnrss-group-min 1) (nnoo-define 'nnrss-group-min nil) (defvar nnrss-group nil) (nnoo-define 'nnrss-group nil) (defvar nnrss-group-hashtb (make-hash-table :test 'equal)) (nnoo-define 'nnrss-group-hashtb nil) (defvar nnrss-status-string "") (nnoo-define 'nnrss-status-string nil) (defconst nnrss-version "nnrss 1.0") #@24 List of RSS addresses. (defvar nnrss-group-alist nil (#$ . 2530)) #@75 If non-nil nnrss will read the feeds from local files in nnrss-directory. (defvar nnrss-use-local nil (#$ . 2602)) #@112 Field name used for DESCRIPTION. To use the description in headers, put this name into `nnmail-extra-headers'. (defvar nnrss-description-field 'X-Gnus-Description (#$ . 2724)) #@104 Field name used for URL. To use the description in headers, put this name into `nnmail-extra-headers'. (defvar nnrss-url-field 'X-Gnus-Url (#$ . 2907)) #@223 A function which is called in `nnrss-request-article'. The arguments are (ENTRY GROUP ARTICLE). ENTRY is the record of the current headline. GROUP is the group name. ARTICLE is the article number of the current headline. (defvar nnrss-content-function nil (#$ . 3066)) #@414 *Coding system used when reading and writing files. If you run Gnus with various versions of Emacsen, the value of this variable should be the coding system that all those Emacsen support. Note that you have to regenerate all the nnrss groups if you change the value. Moreover, you should be patient even if you are made to read the same articles twice, that arises for the difference of the versions of xml.el. (defvar nnrss-file-coding-system mm-universal-coding-system (#$ . -3343)) #@249 Alist of encodings and those supersets. The cdr of each element is used to decode data if it is available when the car is what the data specify as the encoding. Or, the car is used for decoding when the cdr that the data specify is not available. (defvar nnrss-compatible-encoding-alist (byte-code "\301\302\303\304\"\"\207" [mm-charset-override-alist delq nil mapcar #[(elem) "\301@!\205\301A!\205\207" [elem mm-coding-system-p] 2]] 5) (#$ . 3837)) (nnoo-define-basics-1 'nnrss) (defalias 'nnrss-format-string #[(string) "\301\302\303#\207" [string gnus-replace-in-string " *\n *" " "] 4]) (put 'nnrss-format-string 'byte-optimizer 'byte-compile-inline-expand) (defalias 'nnrss-decode-group-name #[(group) "\203\301\302!\203\303\302\"\211\207\207" [group mm-coding-system-p utf-8 mm-decode-coding-string] 3]) (defalias 'nnrss-retrieve-headers #[(articles &optional group server fetch-old) "\306!\307 \"\210\310r q\210\311 \210\f\310\211\203\252@\211\236\211\203\241\312\n@!\313\314\n8\2064\315\313\316\n8\206<\317\313\320\n8\206D\315\313\321\322\n@#\313\211\323\313\323\313\315\313\324\n8\203w >\203w\325!\326\324\n8!\327!\330\331#)\313R\202x\315\332\n8\203\234\" >\203\234\325\"!\326\332\n8!\327!\330\331#)\313R\202\235\315\333\261\210A\211\204,\334\207" [group server e nntp-server-buffer articles article nnrss-decode-group-name nnrss-possibly-change-group nil erase-buffer number-to-string " " 3 "" 4 "(nobody)" 5 format "<%d@%s.nnrss>" "-1" 6 symbol-name ": " gnus-replace-in-string " *\n *" " " 2 "\n" nov --dolist-tail-- nnrss-group-data nnrss-description-field nnmail-extra-headers string nnrss-url-field] 25]) (nnoo-register-function 'nnrss-retrieve-headers) (defalias 'nnrss-request-group #[(group &optional server dont-check info) "\305!\306\307\310#\210\311 \"\210\n\203\312\202-\313 \"\210\314\315\316#\210\317\320 \f \321!\312&\306\307\322#\210\207" [group server dont-check nnrss-group-max nnrss-group-min nnrss-decode-group-name nnheader-message 6 "nnrss: Requesting %s..." nnrss-possibly-change-group t nnrss-check-group nnheader-report nnrss "Opened group %s" nnheader-insert "211 %d %d %d %s\n" prin1-to-string "nnrss: Requesting %s...done"] 7]) (nnoo-register-function 'nnrss-request-group) (defalias 'nnrss-close-group #[(group &optional server) "\300\207" [t] 1]) (nnoo-register-function 'nnrss-close-group) (defalias 'nnrss-request-article #[(article &optional group server buffer) "\306! ;\203\307\310 \"\203\311\312\313 \"!\202\314\315\n\"\210 \236\f\206( \316\211@A\211B\203r q\210\317 \210\203F\320\321\261\210\322B8\203V\323\322B8\321\261\210\324B8\203f\325\324B8\321\261\210\326B8\203\327\326B8C\330C\331\332#)\321\261\210\333 \334B8\335B8\336B8\337B8\340\341!\203\236\342DB\202\240D\316\211\211EFGDHIJKLK\204\311J\204\311I\204\311H\203\310\321c\210\343\344\261\210`FK\203GKc\210Fb\210\345\346\316\347#\203\360\350\332!\210\202\341Fb\210\351\352\316\347#\203 m\203\350\321!\210\202 \350\353!\210m\204:\354\355!\356 !M-M\203*\313\357M!\336_\337\245]-\360`d\"\210db\210n\2049\321c\210*J\204DI\203G\321c\210J\203RJ\321\261\210I\203hI@\332\335I8\332\322I8\321\261\210H\203sH\321\261\210F`{F\361\362\363\261\210K\203\212K\321\261\210J\203\226\364J\365\261\210I\203\266\364I@\366I\211NA@)\367\335I8\332\322I8\370\261 \210H\203\302\364H\371\261\210\372\361\373\261\210\316\374\375\217\210. eb\210\351\353!\210\376y\210\377\201SB@\201T\316OP\201U\330\201V\201W#!*#c\210Q\203QB #\210)@\203\201X\201Y@\"\202?B\204+\201X\201Y\201Z #\202?\201X\201Y\201[B@#\210RB@B,\207" [group article server nnrss-group-data buffer nntp-server-buffer nnrss-decode-group-name string-match "\\`<\\([0-9]+\\)@" string-to-number match-string 1 0 nnrss-possibly-change-group nil erase-buffer "Newsgroups: " "\n" 3 "Subject: " 4 "From: " 5 "Date: " gnus-replace-in-string " *\n *" " " buffer-string 6 2 7 8 mm-coding-system-p utf-8 ("Newsgroups" . utf-8) "<#multipart type=alternative>\n" "<#part type=\"text/plain\">\n" re-search-forward "\n+" t replace-match search-forward "<br /><br />" "\n\n" default-value fill-column get-buffer-window window-width fill-region "<#/part>\n" "<#part type=\"text/html\">\n" "<html><head></head><body>\n" "<p><a href=\"" "\">link</a></p>\n" "\">" "</a> " "</p>\n" "\">comments</a></p>\n" "</body></html>\n" "<#/multipart>\n" (byte-code "\301B\302 \210)\301\207" [mml-confirmation-set unknown-encoding mml-to-mime] 2) ((error (byte-code "\302 \210\303\304 \261\210\305\306\307\"\207" [header body erase-buffer "Content-Type: text/plain; charset=gnus-decoded\n" "Content-Transfer-Encoding: 8bit\n\n" nnheader-message 3 "Warning - there might be invalid characters"] 4))) -1 format err post e string rfc2047-header-encoding-alist fn body rfc2047-encode-encoded-words comments enclosure link text header window x rfc2047-encode-max-chars rfc2047-encoding-type nnrss-content-function nnrss-group "Message-ID: <%d@%s.nnrss>\n" mime rfc2047-encode-string "[ \n ]+" "_" nnheader-report nnrss "no such id: %d" "article %s retrieved"] 10]) (nnoo-register-function 'nnrss-request-article) (defalias 'nnrss-open-server #[(server &optional defs connectionless) "\302!\210\303\304 #\210\305\207" [server defs nnrss-read-server-data nnoo-change-server nnrss t] 4]) (nnoo-register-function 'nnrss-open-server) (defalias 'nnrss-request-expire-articles #[(articles group &optional server force) "\306!\307 \"\210\310\211\211\211\310\211\203`@\211\236\211\203R\311 A@\211<\2039\f\202@\312\f\313\314!Z!#\203R\315 \"\316\202W BA\211\204*\n\203j\317 \"\210 ,\207" [group server changed not-expirable days e nnrss-decode-group-name nnrss-possibly-change-group nil nnmail-expired-article-p days-to-time time-to-days (0 0) delq t nnrss-save-group-data articles art --dolist-tail-- nnrss-group-data force] 7]) (nnoo-register-function 'nnrss-request-expire-articles) (defalias 'nnrss-request-delete-group #[(group &optional force server) "\305!\306 \"\210\307\310 \"\211\203\311\n \"\202 )\311\310\f\"\f\"\312 !\210\307\313\314\217\210\315\207" [group server elem nnrss-group-alist nnrss-server-data nnrss-decode-group-name nnrss-possibly-change-group nil assoc delq nnrss-save-server-data (byte-code "\304\305\n \"!\210)\304\207" [nnmail-pathname-coding-system file-name-coding-system group server delete-file nnrss-make-filename] 4) ((error)) t] 4]) (nnoo-register-function 'nnrss-request-delete-group) (defalias 'nnrss-request-list-newsgroups #[(&optional server) "\305\306\"\210r q\210\307 \210\n\306\211\2030\f@\211AA@\203) @\310 AA@\311\261\210\fA\211\204+\312\207" [server nntp-server-buffer nnrss-group-alist elem --dolist-tail-- nnrss-possibly-change-group nil erase-buffer " " "\n" t] 5]) (nnoo-register-function 'nnrss-request-list-newsgroups) (defalias 'nnrss-retrieve-groups #[(groups &optional server) "\306\211\203 \n@\307 !\310 \"\210\311 \"\210\nA\211\204*r\fq\210\312 \210\306\211\203U\n@\313\314 ! \"\315\316 \211A@)\206J\317#c\210)\nA\211\2040+\320\207" [groups group --dolist-tail-- server nntp-server-buffer nnrss-server-data nil nnrss-decode-group-name nnrss-possibly-change-group nnrss-check-group erase-buffer assoc gnus-group-decoded-name format "%S %s 1 y\n" 0 active elem x] 5]) (byte-code "\300\301!\210\302\303!\207" [nnoo-register-function nnrss-retrieve-groups nnoo-define-skeleton-1 nnrss] 2) #@307 Return an encoding attribute specified in the current xml contents. If `nnrss-compatible-encoding-alist' specifies the compatible encoding, it is used instead. If the xml contents doesn't specify the encoding, return `utf-8' which is the default encoding for xml if it is available, otherwise return nil. (defalias 'nnrss-get-encoding #[nil "eb\210\302\303\304\305#\2030\306\307\310!\206\307\311!\227!\312 \236A!\206.\312!\206.\312\313 \"@!)\207\312\314!\207" [encoding nnrss-compatible-encoding-alist re-search-forward "<\\?[^>]*encoding=\\(?:\"\\([^\">]+\\)\"\\|'\\([^'>]+\\)'\\)" nil t intern match-string 1 2 mm-coding-system-p rassq utf-8] 4 (#$ . 11409)]) #@56 Fetch URL and put it in a the expected Lisp structure. (defalias 'nnrss-fetch #[(url &optional local) "\306\307!rq\210\310\216\311 \210\312\211\211\f\203\"\313\314!\210)\202*\313\315\316\317\217\210)db\210\320\321\312\322#\203<\323\324!\210\202-\325 \211\203P\326\327 \"\330 \210\331 \210c\210eb\210\332\333\334\217\210 \203` \202a\n.\207" [#1=#:temp-buffer htmlform xmlform cs local coding-system-for-read generate-new-buffer " *temp*" ((byte-code "\301!\203\n\302!\210\301\207" [#1# buffer-name kill-buffer] 2)) mm-disable-multibyte nil binary insert-file-contents err (mm-url-insert url) ((error (byte-code "\204 \203\304\n@\nA\"\210\202\305\306 \"\210\304\207" [debug-on-quit debug-on-error err url signal message "nnrss: Failed to fetch %s"] 3))) search-backward " \n" t delete-char 1 nnrss-get-encoding mm-decode-coding-string buffer-string erase-buffer mm-enable-multibyte err1 (byte-code "\301ed\"\301\207" [xmlform xml-parse-region] 3) ((error (byte-code "\300\301\302\217\207" [err2 (byte-code "\301p!@AA@\301\207" [htmlform w3-parse-buffer] 2) ((error (message "nnrss: %s: Not valid XML %s and w3-parse doesn't work %s" url err1 err2)))] 3))) url] 4 (#$ . 12087)]) (defalias 'nnrss-possibly-change-group #[(&optional group server) "\203\303!\204\304!\210 \205! \n\232?\205!\305 \"\210 \211\207" [server group nnrss-group nnrss-server-opened nnrss-open-server nnrss-read-group-data] 3]) (autoload 'timezone-parse-date "timezone") #@201 Return a date string of DATE in the RFC822 style. This function handles the ISO 8601 date format described in URL `http://www.w3.org/TR/NOTE-datetime', and also the RFC822 style which RSS 2.0 allows. (defalias 'nnrss-normalize-date #[(date) "\306\211\211\211\211\211\211\211\211'()*\203\337\307\310*\"\203,\311\312*!!\202\337\307\313*\"\203y\314*!(\312(\315H!\211'\316Y\203\337\312(\317H!\312(\320H!(\321H\211G\321Y\204d\322(\323H\211\203\337\307\324\n\"\204\337\306\202\337\307\325*\"\203\337\312\326\317*\"!'\312\326\320*\"\206\224\327!\312\326\321*\"\206\240\327!\330\224\203\261*\323\224\330\225O\202\274\326\323*\"\206\272\331\332P\333\224\203\320\326\333*\"\326\334*\"P\202\336\335\224\203\331\336\202\336\326\337*\" \203\340\341\315\211\211\f '&!\342\343 \315\321O\f \323\334O' \n\203\344\nP\202 \345&\202\346!. \207" [given cts zone time day month nil string-match "^[0-9]+$" seconds-to-time string-to-number " [0-9]+ " timezone-parse-date 0 1969 1 2 3 "00:00:00" 4 "\\`[A-Z+-]" "\\(199[0-9]\\|20[0-9][0-9]\\)\\(?:-\\([01][0-9]\\)\\(?:-\\([0-3][0-9]\\)\\)?\\)?\\(?:T\\([012][0-9]:[0-5][0-9]\\)\\(?:\\(:[0-5][0-9]\\)\\(?:\\.[0-9]+\\)?\\)?\\)?\\(?:\\(?:\\([+-][012][0-9]\\):\\([0-5][0-9]\\)\\)\\|\\([+-][012][0-9][0-5][0-9]\\)\\|\\(Z\\)\\)?" match-string "1" 5 "00:00" ":00" 6 7 9 "+0000" 8 current-time-string encode-time format "%s, %02d %s %04d %s%s" " " "" message-make-date year vector case-fold-search date] 10 (#$ . 13576)]) (defalias 'nnrss-read-server-data #[(server) "\305\306\307 \"\n\310\f!\205\311\f\305\312\211$*\207" [nnrss-server-data server nnmail-pathname-coding-system file-name-coding-system file nil nnrss-make-filename "nnrss" file-exists-p load t] 5]) (defalias 'nnrss-save-server-data #[(server) "\306!\210 \n\307\310 \"\311\312\313!!\314\216rq\210\315\316 \"c\210\317\320\321\322DE!\210\323c\210\317\320\324\322DE!)rq\210\325\326\211\326\327%\210.\207" [nnrss-directory nnrss-file-coding-system nnmail-pathname-coding-system file-name-coding-system coding-system-for-write server gnus-make-directory nnrss-make-filename "nnrss" get-buffer-create generate-new-buffer-name " *temp file*" ((byte-code "\301!\203\n\302!\210\301\207" [#1=#:temp-buffer buffer-name kill-buffer] 2)) format ";; -*- coding: %s; -*-\n" gnus-prin1 setq nnrss-group-alist quote "\n" nnrss-server-data write-region nil 0 #1# #2=#:temp-file] 7]) (defalias 'nnrss-read-group-data #[(group server) "\306\307 !\203\310 !\210\202\311\312\313\"\314\n \"\211\211A@)\206#\315\211T)\316\n\"\317!\205\217\320\306\321\211$\210\306\211\205\216@\322\3238\321 #\210@\203p@V\203p@@\203\204@W\203\204@A\211\204N\306**\207" [nnrss-group-data nnrss-group-hashtb group nnrss-server-data pair x nil hash-table-p clrhash make-hash-table :test equal assoc 0 nnrss-make-filename file-exists-p load t puthash 9 nnrss-group-max nnrss-group-min server nnmail-pathname-coding-system file-name-coding-system file e --dolist-tail--] 6]) (defalias 'nnrss-save-group-data #[(group server) "\306!\210 \n\307 \"\310\311\312!!\313\216rq\210\314\315 \"c\210\316\317\320\321DE!)rq\210\322\323\211\323\324%\210.\207" [nnrss-directory nnrss-file-coding-system nnmail-pathname-coding-system file-name-coding-system coding-system-for-write group gnus-make-directory nnrss-make-filename get-buffer-create generate-new-buffer-name " *temp file*" ((byte-code "\301!\203\n\302!\210\301\207" [#1=#:temp-buffer buffer-name kill-buffer] 2)) format ";; -*- coding: %s; -*-\n" gnus-prin1 setq nnrss-group-data quote write-region nil 0 server #1# #2=#:temp-file] 7]) (defalias 'nnrss-make-filename #[(name server) "\303\304 \205 \305\232?\205\306 \307R!\n\"\207" [name server nnrss-directory expand-file-name nnrss-translate-file-chars "" "-" ".el"] 6]) (gnus-add-shutdown 'nnrss-close 'gnus) #@33 Clear internal nnrss variables. (defalias 'nnrss-close #[nil "\304\211\304\211\211\207" [nnrss-group-data nnrss-server-data nnrss-group-hashtb nnrss-group-alist nil] 3 (#$ . 17520)]) #@2  (defalias 'nnrss-no-cache #[(url) "\300\207" [""] 1 (#$ . 17712)]) (defalias 'nnrss-insert-w3 #[(url) "\211\203\n\302\303!\210\304\305\306\217 \203\302\307!\210)\207" [enable-multibyte-characters #1=#:multibyte set-buffer-multibyte nil err (mm-url-insert url) ((error (byte-code "\204 \203\304\n@\nA\"\207\305\306 \"\207" [debug-on-quit debug-on-error err url signal message "nnrss: Failed to fetch %s"] 3))) t] 4]) (defalias 'nnrss-decode-entities-string #[(string) "\205\302\303!r q\210\304\216\305 \210c\210\306 \210\307 +\207" [string #1=#:temp-buffer generate-new-buffer " *temp*" ((byte-code "\301!\203\n\302!\210\301\207" [#1# buffer-name kill-buffer] 2)) mm-enable-multibyte mm-url-decode-entities-nbsp buffer-string] 2]) (defalias 'nnrss-insert 'nnrss-insert-w3) (defalias 'nnrss-mime-encode-string #[(string) "\304\305!rq\210\306\216\307 \210 c\210\310 \210eb\210\311\312\313\314#\203%\315\316!\210\202eb\210\316\313w\210e`|\210db\210\316\313w\210`d|\210\317\313\320ed\"\210*eb\210\321\322\313\314#\203W\323\324!\210\202H\325 +\207" [#1=#:temp-buffer string rfc2047-encode-max-chars rfc2047-encoding-type generate-new-buffer " *temp*" ((byte-code "\301!\203\n\302!\210\301\207" [#1# buffer-name kill-buffer] 2)) mm-enable-multibyte mm-url-decode-entities-nbsp re-search-forward "[ \n ]+" nil t replace-match " " mime rfc2047-encode-region search-forward "\n" delete-char -1 buffer-string] 4]) (defalias 'nnrss-make-hash-index #[(item) "\302\303\304\305!#\210\306\307\"\310\305!\311\211 $\207" [item nnrss-file-coding-system gnus-message 9 "nnrss: Making hash index of %s" gnus-prin1-to-string gnus-remove-if #[(field) "<\205 @ >\207" [field nnrss-ignore-article-fields] 2] md5 nil] 5]) (defalias 'nnrss-check-group #[(group server) "\306\211\211\211\211\211\211\211\211\211\211\211\211\211\211\211@A+'BC.%DEF\203K\307\310\311G\312P!H\"\211E!\203K\313E\314\"D\202\245\315\316GI\"8\206b\316GJ\"\211KA@)\211.\204\237\316\317\320\321\322\323G\"\324\"!\"A.\316GI\"\211L\203\217LA.C\241\210\202\233GM.EIBI)\314B\313.!D\325D\326\"\325D\327\"\325D\330\"\325D\331\"\332\333\f\334P!D\"\237\306N\211O\203XO@\211N<\203L\f\334PN@\230\203L\335N!\336P\"\204L\337\f\340N#%\341\337\f\342N\211KAA)#!.\337\n\343N#\206\337\f\344N#C\337 \345N#\211A\203.A\346CQC\337\f\347N#\206F\337 \350N#\206F\337 \351N#'\352\337 \353N#\206X\337\f\354N#!+\337\f\305N#\333\f\355P!N\236\211KA@)\211@\203\356@\236A\357@\236A\360@\236A\306Q0R.R\203\320\361R!\211R\250\203\320R\362\245\363\364\365\366\367\370\371\257STT\372W\204\304T\373\245TSAS\202\257\322\374TS@#*\202\321\375R.\206\331\363.\376\377.\"\203\357\201W\201X.\"\202\362\201YQ0\206\372\3630.QR0F@,MT\211M\201Z .%\205\201[%!'\205*\201['!+C\2055\341C!@ \257\nUBU\201\\\314P#\210\314B\306COA\211O\204\320*B\205\216\201]GV\"\210\316GI\"\211L\203}LAM\240\210\202\207GMDIBI)\201^V!.\207" [hash-index dc-ns content-ns rdf-ns rss-ns comments nil file-exists-p expand-file-name nnrss-translate-file-chars ".xml" nnrss-fetch t 2 assoc href nnrss-discover-feed read-string format "URL to search for %s: " "http://" nnrss-get-namespace-prefix "http://purl.org/dc/elements/1.1/" "http://www.w3.org/1999/02/22-rdf-syntax-ns#" "http://purl.org/rss/1.0/" "http://purl.org/rss/1.0/modules/content/" nnrss-find-el intern "item" nnrss-make-hash-index gethash nnrss-node-text title nnrss-decode-entities-string link encoded description subject "<br /><br />" author creator contributor nnrss-normalize-date date pubDate "enclosure" url length type string-to-number 1.0 "" "k" "M" "G" "T" "P" "E" 1024 1024.0 "%.1f%s" "0" string-match "/\\([^/]*\\)$" enclosure feed-subject changed extra xml file nnrss-use-local group nnrss-directory nnrss-server-data nnrss-group-alist x pair nnrss-group-max item --dolist-tail-- nnrss-group-hashtb name len post-fixes size nnrss-group-data server match-string 1 "file" current-time nnrss-mime-encode-string puthash nnrss-save-group-data nnrss-save-server-data] 17]) #@93 OPML subscriptions import. Read the file and attempt to subscribe to each Feed in the file. (defalias 'nnrss-opml-import #[(opml-file) "\302\303\304\305\306\307!rq\210\310\216\311 \210\312 !\210\313ed\"+\"\"\207" [#1=#:temp-buffer opml-file mapc #[(node) "\303\211A@)\236A\211\205'\304\305\n\"?\205'\306\307\310\n\"!\311\312!\210\205'\313\314\315\217)\207" [node x xmlurl xmlUrl string-match "\\`[ ]*\\'" y-or-n-p format "Subscribe to %s " message "" err (byte-code "\301!\210\302y\207" [xmlurl gnus-group-make-rss-group 1] 2) ((error (byte-code "\303\304\305 !#\210\306\307 )\207" [xmlurl err echo-keystrokes message "Failed to subscribe to %s (%s); type any key to continue: " error-message-string 0 read-char] 5)))] 5] nnrss-find-el outline generate-new-buffer " *temp*" ((byte-code "\301!\203\n\302!\210\301\207" [#1# buffer-name kill-buffer] 2)) mm-enable-multibyte insert-file-contents xml-parse-region] 7 (#$ . 21869) "fImport file: "]) #@76 OPML subscription export. Export subscriptions to a buffer in OPML Format. (defalias 'nnrss-opml-export #[nil "r\305\306!q\210\307\310!\210\311\312\313\314\315\316\317\320!\321\322\323\324\325 \326\327\330\261\210 \331\211\203@ @\332\n@\333\n\211A@)\334\261\210 A\211\204(*\335\336\261\210)\337\306!\210\340\341!\205S\341 \207" [user-mail-address nnrss-group-alist sub --dolist-tail-- x get-buffer-create "*OPML Export*" mm-set-buffer-file-coding-system utf-8 "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n" "<!-- OPML generated by Emacs Gnus' nnrss.el -->\n" "<opml version=\"1.1\">\n" " <head>\n" " <title>mySubscriptions</title>\n" " <dateCreated>" format-time-string "%a, %d %b %Y %T %z" "</dateCreated>\n" " <ownerEmail>" "</ownerEmail>\n" " <ownerName>" user-full-name "</ownerName>\n" " </head>\n" " <body>\n" nil " <outline text=\"" "\" xmlUrl=\"" "\"/>\n" " </body>\n" "</opml>\n" pop-to-buffer fboundp sgml-mode] 17 (#$ . 22834) nil]) #@97 Generate a download script in the current buffer. It is useful when `(setq nnrss-use-local t)'. (defalias 'nnrss-generate-download-script #[nil "\306c\210\307c\210\310\311!\312\261\210 \313\211\205B @\314\n8\206)\315\n@\f\"\211A@)\316\317\n@\320P!\321\312\261\210) A\211\204\313*\207" [nnrss-directory nnrss-server-data elem --dolist-tail-- nnrss-group-alist x "#!/bin/sh\n" "WGET=wget\n" "RSSDIR='" expand-file-name "'\n" nil 2 assoc "$WGET -q -O \"$RSSDIR\"/'" nnrss-translate-file-chars ".xml" "' '" url] 6 (#$ . 23815) nil]) (defalias 'nnrss-translate-file-chars #[(name) "\302\303\"\304 !)\207" [nnheader-file-name-translation-alist name append ((39 . 95)) nnheader-translate-file-chars] 3]) (defalias 'nnrss-node-text #[(namespace local-name element) "\306\307 !P!\n\236\211\203 <\203\310 !\202 \211\205(\311\211\f\312\313#\314\315#\211\313\230?\2051 +\207" [namespace local-name element node text cleaned-text intern symbol-name nnrss-node-just-text gnus-replace-in-string "^[-]+\\|^ +\\| +$" "" " \n" "\n"] 6]) (defalias 'nnrss-node-just-text #[(node) "\203<\203\302\303\211AA)\304#\207\207" [node x mapconcat nnrss-node-just-text " "] 5]) #@83 Find the all matching elements in the data. Careful with this on large documents! (defalias 'nnrss-find-el #[(tag data &optional found-list) ":\203t\306\211\203s\n@\211\242\203l @\232\203@ AA@:\203: AA@@;\203: \211AA) AA@@\240\210\307 C\" AA@\242:\203_ AA@;\204_\307 \310 AA@\"\"\202l\307 \310 \211AA)\"\"\nA\211\204 * \207" [data bit --dolist-tail-- tag x found-list nil append nnrss-find-el] 6 (#$ . 25011)]) #@65 Test if the element we are handed is an RSS autodiscovery link. (defalias 'nnrss-rsslink-p #[(el) "\242\302=\2051\303\304\211A@)\"A\305\230\2051\303\306\211A@)\"A\307\230\2061\303\306\211A@)\"A\310\230\207" [el x link assoc rel "alternate" type "application/rss+xml" "text/xml"] 4 (#$ . 25453)]) #@73 Extract the <link> elements that are links to RSS from the parsed data. (defalias 'nnrss-get-rsslinks #[(data) "\301\302\303\304\305\306\"\"\"\207" [data delq nil mapcar #[(el) "\301!\205\207" [el nnrss-rsslink-p] 2] nnrss-find-el link] 7 (#$ . 25765)]) #@119 Recursively extract hrefs from a page's source. DATA should be the output of `xml-parse-region' or `w3-parse-buffer'. (defalias 'nnrss-extract-hrefs #[(data) "\301\302\303\304\"\"\207" [data mapcar #[(ahref) "\302\303\211A@)\"A\207" [ahref x assoc href] 4] nnrss-find-el a] 5 (#$ . 26031)]) (defalias 'nnrss-match-macro '(macro . #[(base-uri item onsite-list offsite-list) "\304\305\306\307\310E E\311\306\312 EDE\313\n\314\n\315 DEED\316\313 \314 \315 DEEDE\207" [base-uri item onsite-list offsite-list cond or string-match concat "^" not "://" setq append list t] 9])) #@296 Given a list of hrefs, sort them using the following priorities: 1. links ending in .rss 2. links ending in .rdf 3. links ending in .xml 4. links containing the above 5. offsite links BASE-URI is used to determine the location of the links and whether they are `offsite' or `onsite'. (defalias 'nnrss-order-hrefs #[(base-uri hrefs) "\306\211\211\211\211\211\211\211\211\211\211\211\306\211\203^@\211\203U\307\310\"\203c\307\311P\"\204M\307\312\"\204Y\313C\"\202U\313 C\"\202U\307\314\"\203\224\307\311P\"\204~\307\312\"\204\212\313C\"\202U\313\fC\"\202U\307\315\"\203\305\307\311P\"\204\257\307\312\"\204\273\313C\"\202U\313 C\"\202U\307\316\"\203\366\307\311P\"\204\340\307\312\"\204\354\313C\"\202U\313\nC\"\202U\307\317\"\203'\307\311P\"\204\307\312\"\204\313C\"\202U\313 C\"\202U\307\320\"\203U\307\311P\"\204B\307\312\"\204N\313C\"\202U\313C\"A\211\204)*\313 \f \n &\f.\f\207" [xml-offsite-in rdf-offsite-in rss-offsite-in xml-offsite-end rdf-offsite-end rss-offsite-end nil string-match "\\.rss$" "^" "://" append "\\.rdf$" "\\.xml$" "rss" "rdf" "xml" xml-onsite-in rdf-onsite-in rss-onsite-in xml-onsite-end rdf-onsite-end rss-onsite-end hrefs href --dolist-tail-- base-uri] 14 (#$ . 26613)]) #@82 Given a page, find an RSS feed using Mark Pilgrim's `ultra-liberal rss locator'. (defalias 'nnrss-discover-feed #[(url) "\306!\307 !\203\310 \311\"\312\n #)\202\235\313 !\211\203@\306\314\315 @A@\"A!\310\f\311\"\312\n\f\314\315 @A@\"A#*\202\234\316\317\"\210\320\321\"\322 \323 !\"\324\324=\203\216\324=\204\216\306@!\307!\203\205\310\311\"\312\n@#)\202\212A)\202U\203\230\202\233\325!+))\207" [url parsed-page rss-ns links xml base-uri nnrss-fetch nnrss-rss-p nnrss-get-namespace-prefix "http://purl.org/rss/1.0/" nnrss-rss-title-description nnrss-get-rsslinks assoc href string-match ".*://[^/]+/?" match-string 0 nnrss-order-hrefs nnrss-extract-hrefs nil nnrss-find-rss-via-syndic8 hrefs rss-link href-data] 7 (#$ . 28012)]) #@49 Query syndic8 for the rss feeds it has for URL. (defalias 'nnrss-find-rss-via-syndic8 #[(url) "\306\307!\204\f\310\311!\210\312\207\313\314!\210\315\316\317#\211\205K\315\316\320 #\321\312\322\323\n\"\"\211G\324V\2048 \211@A)\202J\325\322\326\n\"\327\330\331 \325# \"A**)\207" [url feedid feedinfo urllist x selection locate-library "xml-rpc" message "XML-RPC is not available... not checking Syndic8." nil require xml-rpc xml-rpc-method-call "http://www.syndic8.com/xmlrpc.php" syndic8\.FindSites syndic8\.GetFeedInfo delq mapcar #[(listinfo) "\301\302\"A\303\230\205\301\304\"A\305\301\304\"AB\306\301\307\"ABDB\207" [listinfo assoc "status" "Syndicated" "sitename" title href "dataurl"] 6] 1 t #[(listinfo) "\301\302\"A\303\301\304\"A!B\207" [listinfo assoc "sitename" string-to-number "feedid"] 5] assoc gnus-completing-read "Multiple feeds found. Select one" completion-ignore-case] 6 (#$ . 28800)]) #@83 Test if DATA is an RSS feed. Simply ensures that the first element is rss or rdf. (defalias 'nnrss-rss-p #[(data) "\211@@)\302=\206\211@@)\303=\207" [data x rss rdf:RDF] 3 (#$ . 29731)]) #@34 Return the title of an RSS feed. (defalias 'nnrss-rss-title-description #[(rss-namespace data url) "\306!\2054\307 \310P!\307 \311P!\312\307 \313P!\"\304\312\f\n\"@AA@B\303\312 \n\"@AA@B\314 BE+\207" [data rss-namespace channel title description url nnrss-rss-p intern "description" "title" nnrss-find-el "channel" href] 6 (#$ . 29930)]) #@161 Given EL (containing a parsed element) and URI (containing a string that gives the URI for which you want to retrieve the namespace prefix), return the prefix. (defalias 'nnrss-get-namespace-prefix #[(el uri) "\306 @A@\"@\211\205\307\310\n!\311\"\211G\312=\203\313\202, G\314=\205, \211A@)\211\203= \313\230\204= \311P\202> +\207" [uri el prefix nslist x ns rassoc split-string symbol-name ":" 1 "" 2] 4 (#$ . 30281)]) (provide 'nnrss)