From mboxrd@z Thu Jan 1 00:00:00 1970 X-Msuck: nntp://news.gmane.io/gmane.emacs.gnus.general/62613 Path: news.gmane.org!not-for-mail From: michael.cadilhac@lrde.org (=?iso-8859-1?Q?Micha=EBl?= Cadilhac) Newsgroups: gmane.emacs.gnus.general Subject: [gnus.ding] Fwd: nnrss and some (partially redundant) RSS feeds. Date: Mon, 10 Apr 2006 14:18:02 +0200 Organization: Epita/LRDE Message-ID: <87wtdxmxol.fsf@mahaena.lrde> NNTP-Posting-Host: main.gmane.org Mime-Version: 1.0 Content-Type: multipart/signed; boundary="====-=-="; micalg=pgp-sha1; protocol="application/pgp-signature" X-Trace: sea.gmane.org 1144683915 5267 80.91.229.2 (10 Apr 2006 15:45:15 GMT) X-Complaints-To: usenet@sea.gmane.org NNTP-Posting-Date: Mon, 10 Apr 2006 15:45:15 +0000 (UTC) Original-X-From: ding-owner+m11140@lists.math.uh.edu Mon Apr 10 17:45:09 2006 Return-path: Envelope-to: ding-account@gmane.org Original-Received: from malifon.math.uh.edu ([129.7.128.13]) by ciao.gmane.org with esmtp (Exim 4.43) id 1FSyZ9-0004n8-IC for ding-account@gmane.org; Mon, 10 Apr 2006 17:44:36 +0200 Original-Received: from localhost ([127.0.0.1] helo=lists.math.uh.edu ident=lists) by malifon.math.uh.edu with smtp (Exim 3.20 #1) id 1FSyYw-0002I6-00; Mon, 10 Apr 2006 10:44:22 -0500 Original-Received: from nas01.math.uh.edu ([129.7.128.39]) by malifon.math.uh.edu with esmtp (Exim 3.20 #1) id 1FSvLa-00023J-00 for ding@lists.math.uh.edu; Mon, 10 Apr 2006 07:18:22 -0500 Original-Received: from quimby.gnus.org ([80.91.224.244]) by nas01.math.uh.edu with esmtp (Exim 4.52) id 1FSvLU-0004n2-EV for ding@lists.math.uh.edu; Mon, 10 Apr 2006 07:18:21 -0500 Original-Received: from 2.139.39-62.rev.gaoland.net ([62.39.139.2] helo=kualalumpur.lrde.epita.fr) by quimby.gnus.org with esmtp (Exim 3.35 #1 (Debian)) id 1FSvLK-00040L-00 for ; Mon, 10 Apr 2006 14:18:06 +0200 Original-Received: from mahaena.lrde.epita.fr ([192.168.101.66] helo=mahaena.lrde) by kualalumpur.lrde.epita.fr with esmtp (Exim 4.50) id 1FSvLK-0000v1-1p for ding@gnus.org; Mon, 10 Apr 2006 14:18:06 +0200 Original-To: ding@gnus.org Face: iVBORw0KGgoAAAANSUhEUgAAADAAAAAwBAMAAAClLOS0AAAAElBMVEVWPh+Tai+5r5YKBAEU CQQzGAtiq7gjAAACR0lEQVQ4jW2UzW7lIAyFzVW8BzTZX5DmCZLuU2H2pMXv/ypzbK7aSh2kRCRf /HNsE0q7Sg+RQ7JFKaqtrRNAl5AIIKe6D5DBqgbmUAe5hBI1wIRFAHjeM0RKtZi7XVVEpb0BSNfA IddChChT5DildSLWOWhY5IEItMnncZgFcUAc/5jjwCMsDosRNdfKPDTFEdVBW8C+RebDb4N5Orio RhM1+11IJyx0ng2+LryFHBMPDQDYHrY6IfGuU3ouiXTQNE8LIJDKOWpNxERTFrggQwRPd7USUsTW fJ0XbR3bdj5KgBYy4SACpxDeUYEUAzLmtJ1iIrD2gczPq8Qomjhsh/RjGIgKIO8p7NITjwlx7WID nsnQe5NeuTvoBpi8LX6vLLOh5icjOHqBypgnuSp7M+RE1agbQKHQr5E2z1WObhYW4gMqeGQL7joM jCf2DxSk5ApADSYHfFF4igNfJZL1z0GKP0FN02s4XiDXr7V5P94W6I9v8MfBOQDmfwAaVYt+x8Da v4DJvX8BAdin3Knm5yMZYAO4ABDkDniZLLfi4P40gP1F0TPGZOu0CGwA1lcowxwlGy6A9705mD0V jHCxwVZT/hYdRJVUGZNlx6l7ScQBTluof6Wj6bsPYlvpwoTvXFD9gHPn2TZPF3ntI2ecxVrW5MrV XiCie5EeNa7BlWu/HNSkprDUva163PHxAv5jyGV7gVzyAghSKOTnat85UIYFICXbD2NV9rRiv0BS tKQsg6OHH4A15F1WW+UHKHHa32h6aPnAm3/pUcWp+WYnTQAAAABJRU5ErkJggg== Face: iVBORw0KGgoAAAANSUhEUgAAADAAAAAwBAMAAAClLOS0AAAAHlBMVEXqwKfIuaxUOybu7un9 /PsPFhfv2rR5hILu5tPu9fdl2vfgAAACOklEQVQ4jWWUvW/bMBDFT4uRUXRq0x1NQNBssCjsuV60 ChCyKi1gdCwJGOexroGEHYt4CP/bvqNExU0J+IPvp3dHHnmi/TCauD37+j7u86BR32hfVV192sZ/ wOtZV52Mlj/u4xuIZx70rjVre7lO4PV51AW50wSa7fwNIM+H6whe1Y3eGb6fgM8ZWvmqL2Oo5o8X tUJmY/Bnvcs5EhC1ZoPNuE8ZvBw7Y1gpVRYMyzqH2m+OrVMlHQ4HKrjrHuyYvDkvHpIsBBVof+dV fVnUM4jfQzj0hYAc6rpYz5KeQXY0GUiSdwCRkuEdmK8pgSc4jv+FCkMof5t8LuDwhE9P81vHL6ed glwwO1216eQHgAM0Za9Rj1aNxUq1+uqNqeqiag0zwHra+ZzZGy6AUUsUbpfBszOVcYSim1od61MG zcax57JHbnbkeZVB3P4onKIDkVJEzN921wxKIpoByNDlZQK2n1EPIKxQS5v3Ee1Pmg0AVVQrG+O4 D/uUQCFALS92N4AGoAToC5rBcJdBE639jNUozUQDsPG6pxgBAoD2NcmC74KF5ZpBSRqbE7AKyUJN fLHb8KgKJbtTihPYRRKDAIWrWEqiZUgWgsGGcHZa7i50XuK6WGvJiiGcGRJKiGJqt8pA7gd0LwhH VbUuJAA9qDnLKSWApnACtqL7rpbn2eNH42qdAJAAOjqcnfJi4iNa4UIwpOZvU4YMOkejnlpNmg3h 0pyCzm08gTSl6aUwgUGg4/SuMMOCeZj+BQgcTnFmGJdYAAAAAElFTkSuQmCC User-Agent: Gnus/5.110004 (No Gnus v0.4) Emacs/22.0.50 (gnu/linux) X-Spam-Score: -2.5 (--) Precedence: bulk Original-Sender: ding-owner@lists.math.uh.edu Xref: news.gmane.org gmane.emacs.gnus.general:62613 Archived-At: --====-=-= Content-Type: multipart/mixed; boundary="===-=-=" --===-=-= Seems that this message never reached the list. --===-=-= Content-Type: message/rfc822 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable X-From-Line: nobody Fri Mar 31 19:28:22 2006 From: Micha Newsgroups: gnus.ding Subject: Fwd: nnrss and some (partially redundant) RSS feeds. Organization: Epita/LRDE X-Draft-From: ("nntp+news.gnus.org:gnus.ding") Face: iVBORw0KGgoAAAANSUhEUgAAADAAAAAwBAMAAAClLOS0AAAAElBMVEVWPh+Tai+5r5YK= =2D-=3D=3D-=3D-=3D Content-Type: multipart/mixed; boundary=3D"=3D-=3D-=3D" =2D-=3D-=3D-=3D Content-Type: text/plain; charset=3Diso-8859-1 Content-Transfer-Encoding: quoted-printable Some people told me to follow up this message in the ding mailing list, =3DAB bugs =3DBB being overflowed by spam. Thanks in advance. Michael Cadilhac writes: > Hi ! > > I've some issues with an RSS feed that comes from a Trac (project > managing tool). > > 1) The feed [1] has the following entries : > > ////////////////////////////////////////////////////////////////////// > > > Ticket #13 (defect) created by pouchet@lrde.epita.fr > pouchet@lrde.epita.fr > Mon, 27 Mar 2006 10:00:52 GMT > http://vaucanson.lrde.org/trac.cgi/ticket/13 > Correction on homepage > > > > Ticket #13 (defect) closed by cadilh_m > michael.cadilhac@lrde.org > Mon, 27 Mar 2006 11:21:43 GMT > http://vaucanson.lrde.org/trac.cgi/ticket/13 > Fixed. > > > ////////////////////////////////////////////////////////////////////// > > As you can see, a ticket has been opened then closed. > > 2) The nnrss.el (I'm using CVS Gnus) code looks like: > > Check if an item is already stored: > > (if (setq url (nnrss-decode-entities-string > (nnrss-node-text rss-ns 'link (cddr item)))) > (not (gethash url nnrss-group-hashtb)) > (setq extra (or (nnrss-node-text content-ns 'encoded item) > (nnrss-node-text rss-ns 'description item))) > (not (gethash extra nnrss-group-hashtb)))) > > Here, the hash table is indexed by, first, the URL, and as > a fallback, by the =3DAB encoded =3DBB or =3DAB description =3DBB field. > > > 1 with 2) > > Gosh ! Both messages have the same =3DAB link =3DBB (URL) ! So th= ey're > hashed by the same index and the first message will be in the group > while the other one will never appear ! > > 3) Then why not hash by URL _AND_ Description ? > > In the RSS field [1], we also have entries with the same URL *and* > the same description (only the title and the date differ). Beside > that, the description could be a large message. > > 4) So what would be a good hash index ? > > What about the concatenation between =3DAB date =3DBB (or =3DAB pubda= te =3DBB=3D ) and > =3DAB link =3DBB (or its fallback) ? I find that meaningful because a t= icket > (here, in my case) couldn't be edited twice at the same time. > > Alternatively, an even better hash index would be the md5sum of the > whole entry from XML ; the drawback being, obviously, the > computation time of this thing. > > If needed, patches attached ; comments welcome :-) > > > Thanks in advance. > > Footnotes:=3D20 > [1] http://vaucanson.lrde.org/trac.cgi/timeline?milestone=3D3Don&ticket= =3D3D=3D on&changeset=3D3Don&wiki=3D3Don&max=3D3D50&daysback=3D3D90&format=3D3Drss > > > ---- > Note on the patches : > > For the first patch : > > I haven't kept a back-compatibility for el-rss files : in the > current code, if the =3DAB date =3DBB field is empty (well, it's r= arely > the case, but it could be), it is set to the current time and > that's OK. > > But we compute the hash index from the original =3DAB date =3DBB = field > (i.e. the one from the RSS feed) ; so I add to store it in the el > file and additionally in the `nnrss-group-data' list as the 4th > element of each elements in order to recompute it rightly on group > loading. > > For the second one : > > Same thing, but I preferred to store the md5sum as the 9th (and > last) element of each elements of `nnrss-group-data' directly in > order to avoid (an hard) re-computation. =2D-=3D-=3D-=3D Content-Type: text/x-patch Content-Disposition: attachment; filename=3Dnnrss.patch Content-Transfer-Encoding: quoted-printable Content-Description: Patch 1: with the date field. Index: ChangeLog =3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D= =3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D =3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D= =3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D =3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D= =3D3D=3D3D RCS file: /usr/local/cvsroot/gnus/lisp/ChangeLog,v retrieving revision 7.1099 diff -c -r7.1099 ChangeLog *** ChangeLog 27 Mar 2006 09:42:59 -0000 7.1099 =3D2D-- ChangeLog 27 Mar 2006 16:06:35 -0000 *************** *** 1,3 **** =3D2D-- 1,12 ---- + 2006-03-27 Michael Cadilhac (tiny change) +=3D20=3D20 + * nnrss.el (nnrss-check-group): Hash messages with the `date' + field together with the previous criteria. Store the original + `date' field in `nnrss-group-data'. + (nnrss-read-group-data): Update accordingly. + (nnrss-retrieve-headers): Update access to `nnrss-group-data' elements. + (nnrss-request-article): Likewise. +=3D20 2006-03-26 Andreas Seltenreich (tiny change) =3D20=3D20 * message.el (message-resend): Bind message-generate-hashcash to Index: nnrss.el =3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D= =3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D =3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D= =3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D =3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D= =3D3D=3D3D RCS file: /usr/local/cvsroot/gnus/lisp/nnrss.el,v retrieving revision 7.43 diff -c -r7.43 nnrss.el *** nnrss.el 16 Jan 2006 22:57:40 -0000 7.43 =3D2D-- nnrss.el 27 Mar 2006 16:06:36 -0000 *************** *** 125,131 **** (or (nth 4 e) "(nobody)") "\t" ;; date ! (or (nth 5 e) "") "\t" ;; id (format "<%d@%s.nnrss>" (car e) group) =3D2D-- 125,131 ---- (or (nth 4 e) "(nobody)") "\t" ;; date ! (or (nth 6 e) "") "\t" ;; id (format "<%d@%s.nnrss>" (car e) group) *************** *** 138,149 **** "-1" "\t" ;; Xref "" "\t" ! (if (and (nth 6 e) (memq nnrss-description-field nnmail-extra-headers)) (concat (symbol-name nnrss-description-field) ": " ! (nnrss-format-string (nth 6 e)) "\t") "") (if (and (nth 2 e) =3D2D-- 138,149 ---- "-1" "\t" ;; Xref "" "\t" ! (if (and (nth 7 e) (memq nnrss-description-field nnmail-extra-headers)) (concat (symbol-name nnrss-description-field) ": " ! (nnrss-format-string (nth 7 e)) "\t") "") (if (and (nth 2 e) *************** *** 198,210 **** (insert "Subject: " (nth 3 e) "\n")) (if (nth 4 e) (insert "From: " (nth 4 e) "\n")) ! (if (nth 5 e) ! (insert "Date: " (nnrss-format-string (nth 5 e)) "\n")) (let ((header (buffer-string)) ! (text (nth 6 e)) (link (nth 2 e)) ! (enclosure (nth 7 e)) ! (comments (nth 8 e)) ;; Enable encoding of Newsgroups header in XEmacs. (default-enable-multibyte-characters t) (rfc2047-header-encoding-alist =3D2D-- 198,210 ---- (insert "Subject: " (nth 3 e) "\n")) (if (nth 4 e) (insert "From: " (nth 4 e) "\n")) ! (if (nth 6 e) ! (insert "Date: " (nnrss-format-string (nth 6 e)) "\n")) (let ((header (buffer-string)) ! (text (nth 7 e)) (link (nth 2 e)) ! (enclosure (nth 8 e)) ! (comments (nth 9 e)) ;; Enable encoding of Newsgroups header in XEmacs. (default-enable-multibyte-characters t) (rfc2047-header-encoding-alist *************** *** 576,582 **** (insert-file-contents file) (eval-region (point-min) (point-max)))) (dolist (e nnrss-group-data) ! (puthash (or (nth 2 e) (nth 6 e)) t nnrss-group-hashtb) (when (and (car e) (> nnrss-group-min (car e))) (setq nnrss-group-min (car e))) (when (and (car e) (< nnrss-group-max (car e))) =3D2D-- 576,582 ---- (insert-file-contents file) (eval-region (point-min) (point-max)))) (dolist (e nnrss-group-data) ! (puthash (concat (nth 5 e) (or (nth 2 e) (nth 7 e))) t nnrss-group-hasht= =3D b) (when (and (car e) (> nnrss-group-min (car e))) (setq nnrss-group-min (car e))) (when (and (car e) (< nnrss-group-max (car e))) *************** *** 657,663 **** ;;; Snarf functions =3D20=3D20 (defun nnrss-check-group (group server) ! (let (file xml subject url extra changed author date feed-subject enclosure comments rss-ns rdf-ns content-ns dc-ns) (if (and nnrss-use-local (file-exists-p (setq file (expand-file-name =3D2D-- 657,663 ---- ;;; Snarf functions =3D20=3D20 (defun nnrss-check-group (group server) ! (let (file xml subject url extra changed author date-field date feed-su= =3D bject enclosure comments rss-ns rdf-ns content-ns dc-ns) (if (and nnrss-use-local (file-exists-p (setq file (expand-file-name *************** *** 690,701 **** (dolist (item (nreverse (nnrss-find-el (intern (concat rss-ns "item")= =3D ) xml))) (when (and (listp item) (string=3D3D (concat rss-ns "item") (car item)) ! (if (setq url (nnrss-decode-entities-string ! (nnrss-node-text rss-ns 'link (cddr item)))) ! (not (gethash url nnrss-group-hashtb)) ! (setq extra (or (nnrss-node-text content-ns 'encoded item) ! (nnrss-node-text rss-ns 'description item))) ! (not (gethash extra nnrss-group-hashtb)))) (setq subject (nnrss-node-text rss-ns 'title item)) (setq extra (or extra (nnrss-node-text content-ns 'encoded item) =3D2D-- 690,705 ---- (dolist (item (nreverse (nnrss-find-el (intern (concat rss-ns "item")= =3D ) xml))) (when (and (listp item) (string=3D3D (concat rss-ns "item") (car item)) ! (progn ! (setq date-field (or (nnrss-node-text dc-ns 'date item) ! (nnrss-node-text rss-ns 'pubDate item) ! "")) ! (if (setq url (nnrss-decode-entities-string ! (nnrss-node-text rss-ns 'link (cddr item)))) ! (not (gethash (concat date-field url) nnrss-group-hashtb)) ! (setq extra (or (nnrss-node-text content-ns 'encoded item) ! (nnrss-node-text rss-ns 'description item))) ! (not (gethash (concat date-field extra) nnrss-group-hashtb))))) (setq subject (nnrss-node-text rss-ns 'title item)) (setq extra (or extra (nnrss-node-text content-ns 'encoded item) *************** *** 705,713 **** (setq author (or (nnrss-node-text rss-ns 'author item) (nnrss-node-text dc-ns 'creator item) (nnrss-node-text dc-ns 'contributor item))) ! (setq date (nnrss-normalize-date ! (or (nnrss-node-text dc-ns 'date item) ! (nnrss-node-text rss-ns 'pubDate item)))) (setq comments (nnrss-node-text rss-ns 'comments item)) (when (setq enclosure (cadr (assq (intern (concat rss-ns "enclosure")) i= =3D tem))) (let ((url (cdr (assq 'url enclosure))) =3D2D-- 709,715 ---- (setq author (or (nnrss-node-text rss-ns 'author item) (nnrss-node-text dc-ns 'creator item) (nnrss-node-text dc-ns 'contributor item))) ! (setq date (nnrss-normalize-date date-field)) (setq comments (nnrss-node-text rss-ns 'comments item)) (when (setq enclosure (cadr (assq (intern (concat rss-ns "enclosure")) i= =3D tem))) (let ((url (cdr (assq 'url enclosure))) *************** *** 737,748 **** url (and subject (nnrss-mime-encode-string subject)) (and author (nnrss-mime-encode-string author)) date (and extra (nnrss-decode-entities-string extra)) enclosure comments) nnrss-group-data) ! (puthash (or url extra) t nnrss-group-hashtb) (setq changed t)) (setq extra nil)) (when changed =3D2D-- 739,751 ---- url (and subject (nnrss-mime-encode-string subject)) (and author (nnrss-mime-encode-string author)) + date-field date (and extra (nnrss-decode-entities-string extra)) enclosure comments) nnrss-group-data) ! (puthash (concat date-field (or url extra)) t nnrss-group-hashtb) (setq changed t)) (setq extra nil)) (when changed =2D-=3D-=3D-=3D Content-Type: text/x-patch Content-Disposition: attachment; filename=3Dnnrss-md5.patch Content-Transfer-Encoding: quoted-printable Content-Description: Patch 2: with md5sum. Index: ChangeLog =3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D= =3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D =3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D= =3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D =3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D= =3D3D=3D3D RCS file: /usr/local/cvsroot/gnus/lisp/ChangeLog,v retrieving revision 7.1099 diff -c -r7.1099 ChangeLog *** ChangeLog 27 Mar 2006 09:42:59 -0000 7.1099 =3D2D-- ChangeLog 27 Mar 2006 16:54:36 -0000 *************** *** 1,3 **** =3D2D-- 1,9 ---- + 2006-03-27 Michael Cadilhac (tiny change) +=3D20 + * nnrss.el (nnrss-check-group): Use the md5sum of the whole RSS + item as its hash index. Store this hash in `nnrss-group-data'. + (nnrss-read-group-data): Update accordingly. +=3D20 2006-03-26 Andreas Seltenreich (tiny change) =3D20=3D20 * message.el (message-resend): Bind message-generate-hashcash to Index: nnrss.el =3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D= =3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D =3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D= =3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D =3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D= =3D3D=3D3D RCS file: /usr/local/cvsroot/gnus/lisp/nnrss.el,v retrieving revision 7.43 diff -c -r7.43 nnrss.el *** nnrss.el 16 Jan 2006 22:57:40 -0000 7.43 =3D2D-- nnrss.el 27 Mar 2006 16:54:36 -0000 *************** *** 576,582 **** (insert-file-contents file) (eval-region (point-min) (point-max)))) (dolist (e nnrss-group-data) ! (puthash (or (nth 2 e) (nth 6 e)) t nnrss-group-hashtb) (when (and (car e) (> nnrss-group-min (car e))) (setq nnrss-group-min (car e))) (when (and (car e) (< nnrss-group-max (car e))) =3D2D-- 576,582 ---- (insert-file-contents file) (eval-region (point-min) (point-max)))) (dolist (e nnrss-group-data) ! (puthash (nth 9 e) t nnrss-group-hashtb) (when (and (car e) (> nnrss-group-min (car e))) (setq nnrss-group-min (car e))) (when (and (car e) (< nnrss-group-max (car e))) *************** *** 658,664 **** =3D20=3D20 (defun nnrss-check-group (group server) (let (file xml subject url extra changed author date feed-subject ! enclosure comments rss-ns rdf-ns content-ns dc-ns) (if (and nnrss-use-local (file-exists-p (setq file (expand-file-name (nnrss-translate-file-chars =3D2D-- 658,664 ---- =3D20=3D20 (defun nnrss-check-group (group server) (let (file xml subject url extra changed author date feed-subject ! enclosure comments rss-ns rdf-ns content-ns dc-ns hash-index) (if (and nnrss-use-local (file-exists-p (setq file (expand-file-name (nnrss-translate-file-chars *************** *** 690,704 **** (dolist (item (nreverse (nnrss-find-el (intern (concat rss-ns "item")= =3D ) xml))) (when (and (listp item) (string=3D3D (concat rss-ns "item") (car item)) ! (if (setq url (nnrss-decode-entities-string ! (nnrss-node-text rss-ns 'link (cddr item)))) ! (not (gethash url nnrss-group-hashtb)) ! (setq extra (or (nnrss-node-text content-ns 'encoded item) ! (nnrss-node-text rss-ns 'description item))) ! (not (gethash extra nnrss-group-hashtb)))) (setq subject (nnrss-node-text rss-ns 'title item)) ! (setq extra (or extra ! (nnrss-node-text content-ns 'encoded item) (nnrss-node-text rss-ns 'description item))) (if (setq feed-subject (nnrss-node-text dc-ns 'subject item)) (setq extra (concat feed-subject "

" extra))) =3D2D-- 690,701 ---- (dolist (item (nreverse (nnrss-find-el (intern (concat rss-ns "item")= =3D ) xml))) (when (and (listp item) (string=3D3D (concat rss-ns "item") (car item)) ! (progn (setq hash-index (md5 (prin1-to-string item))) ! (not (gethash hash-index nnrss-group-hashtb)))) (setq subject (nnrss-node-text rss-ns 'title item)) ! (setq url (nnrss-decode-entities-string ! (nnrss-node-text rss-ns 'link (cddr item)))) ! (setq extra (or (nnrss-node-text content-ns 'encoded item) (nnrss-node-text rss-ns 'description item))) (if (setq feed-subject (nnrss-node-text dc-ns 'subject item)) (setq extra (concat feed-subject "

" extra))) *************** *** 740,748 **** date (and extra (nnrss-decode-entities-string extra)) enclosure ! comments) nnrss-group-data) ! (puthash (or url extra) t nnrss-group-hashtb) (setq changed t)) (setq extra nil)) (when changed =3D2D-- 737,746 ---- date (and extra (nnrss-decode-entities-string extra)) enclosure ! comments ! hash-index) nnrss-group-data) ! (puthash hash-index t nnrss-group-hashtb) (setq changed t)) (setq extra nil)) (when changed =2D-=3D-=3D-=3D Content-Type: text/plain; charset=3Diso-8859-1 Content-Transfer-Encoding: quoted-printable =3D2D-=3D20 | Mieux vaut se taire Micha=3DEBl 'Micha' Cadilhac | | Que de parler trop fort. cadilh_m - Epita 2007 - CSI | | -- As de tr=3DE8fle JID: micha@amessage.be | `-- - - - - --' =2D-=3D-=3D-=3D-- =2D-=3D=3D-=3D-=3D Content-Type: application/pgp-signature =2D----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.2 (GNU/Linux) iD8DBQFELWa2ZYNf4qobZ7kRAkvsAKCUlD4mdI05rYdHU7gNuRWxWWa65gCg7A7X 9C+Q8WhS5m7XlLtYlAS4sVM=3D =3DPp2O =2D----END PGP SIGNATURE----- =2D-=3D=3D-=3D-=3D-- --===-=-= Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: quoted-printable --=20 | Micha=EBl `Micha' Cadilhac | Un certain Blaise Pascal = | | Epita/LRDE Promo 2007 | etc... etc... = | | http://www.lrde.org/~cadilh_m | -- Pr=E9vert (Les paris stupides) = | `-- - JID: micha@amessage.be --' - -= -' --===-=-=-- --====-=-= Content-Type: application/pgp-signature -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.2 (GNU/Linux) iD8DBQFEOkz9ZYNf4qobZ7kRAk5bAJsEiYYMUWazwDTEhTP0/NO/oBwEjgCeM+UR XkIPOvHQh2nTcO2wsp7LmFQ= =qyVq -----END PGP SIGNATURE----- --====-=-=--