Mercurial > emacs
changeset 110194:1acd79f80f50
gnus-start.el (gnus-make-hashtable-from-newsrc-alist): Remove duplicates from .newsrc list.
author | Katsumi Yamaoka <yamaoka@jpl.org> |
---|---|
date | Sun, 05 Sep 2010 00:56:31 +0000 |
parents | 045086ad722e |
children | 48695a2e29d9 |
files | lisp/gnus/ChangeLog lisp/gnus/gnus-start.el |
diffstat | 2 files changed, 14 insertions(+), 8 deletions(-) [+] |
line wrap: on
line diff
--- a/lisp/gnus/ChangeLog Sun Sep 05 00:52:55 2010 +0000 +++ b/lisp/gnus/ChangeLog Sun Sep 05 00:56:31 2010 +0000 @@ -2,6 +2,8 @@ * gnus-start.el (gnus-get-unread-articles): Protect against groups that come from no known methods. + (gnus-make-hashtable-from-newsrc-alist): Remove duplicates from .newsrc + list. * pop3.el (pop3-display-message-size-flag): Removed -- everybody wants message sizes.
--- a/lisp/gnus/gnus-start.el Sun Sep 05 00:52:55 2010 +0000 +++ b/lisp/gnus/gnus-start.el Sun Sep 05 00:56:31 2010 +0000 @@ -1815,14 +1815,18 @@ (if (setq rest (member method methods)) (gnus-info-set-method info (car rest)) (push method methods))) - (gnus-sethash - (car info) - ;; Preserve number of unread articles in groups. - (cons (and ohashtb (car (gnus-gethash (car info) ohashtb))) - prev) - gnus-newsrc-hashtb) - (setq prev alist - alist (cdr alist))) + ;; Check for duplicates. + (if (gnus-gethash (car info) gnus-newsrc-hashtb) + ;; Remove this entry from the alist. + (setcdr prev (cddr prev)) + (gnus-sethash + (car info) + ;; Preserve number of unread articles in groups. + (cons (and ohashtb (car (gnus-gethash (car info) ohashtb))) + prev) + gnus-newsrc-hashtb) + (setq prev alist)) + (setq alist (cdr alist))) ;; Make the same select-methods in `gnus-server-alist' identical ;; as well. (while methods