emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] /srv/bzr/emacs/trunk r101345: gnus-start.el (gnus-make-has


From: Katsumi Yamaoka
Subject: [Emacs-diffs] /srv/bzr/emacs/trunk r101345: gnus-start.el (gnus-make-hashtable-from-newsrc-alist): Remove duplicates from .newsrc list.
Date: Sun, 05 Sep 2010 00:56:31 +0000
User-agent: Bazaar (2.0.3)

------------------------------------------------------------
revno: 101345
author: Lars Magne Ingebrigtsen <address@hidden>
committer: Katsumi Yamaoka <address@hidden>
branch nick: trunk
timestamp: Sun 2010-09-05 00:56:31 +0000
message:
  gnus-start.el (gnus-make-hashtable-from-newsrc-alist): Remove duplicates from 
.newsrc list.
modified:
  lisp/gnus/ChangeLog
  lisp/gnus/gnus-start.el
=== modified file 'lisp/gnus/ChangeLog'
--- a/lisp/gnus/ChangeLog       2010-09-05 00:52:55 +0000
+++ b/lisp/gnus/ChangeLog       2010-09-05 00:56:31 +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.

=== modified file 'lisp/gnus/gnus-start.el'
--- a/lisp/gnus/gnus-start.el   2010-09-05 00:52:55 +0000
+++ b/lisp/gnus/gnus-start.el   2010-09-05 00:56:31 +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


reply via email to

[Prev in Thread] Current Thread [Next in Thread]