Index: ChangeLog =================================================================== 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 --- ChangeLog 27 Mar 2006 16:54:36 -0000 *************** *** 0,0 **** --- 1,6 ---- + 2006-03-27 Michael Cadilhac (tiny change) + + * 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. + Index: nnrss.el =================================================================== 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 --- 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))) --- 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 **** (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 --- 658,664 ---- (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")) xml))) (when (and (listp item) (string= (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))) --- 690,701 ---- (dolist (item (nreverse (nnrss-find-el (intern (concat rss-ns "item")) xml))) (when (and (listp item) (string= (concat rss-ns "item") (car item)) ! (progn (setq hash-index (md5 (gnus-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 --- 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