113 |
(gnus-dup-open)) |
(gnus-dup-open)) |
114 |
(setq gnus-dup-list-dirty t) ; mark list for saving |
(setq gnus-dup-list-dirty t) ; mark list for saving |
115 |
(let ((data gnus-newsgroup-data) |
(let ((data gnus-newsgroup-data) |
116 |
datum msgid) |
datum msgid) |
117 |
;; Enter the Message-IDs of all read articles into the list |
;; Enter the Message-IDs of all read articles into the list |
118 |
;; and hash table. |
;; and hash table. |
119 |
(while (setq datum (pop data)) |
(while (setq datum (pop data)) |
121 |
(> (gnus-data-number datum) 0) |
(> (gnus-data-number datum) 0) |
122 |
(not (memq (gnus-data-number datum) gnus-newsgroup-unreads)) |
(not (memq (gnus-data-number datum) gnus-newsgroup-unreads)) |
123 |
(not (= (gnus-data-mark datum) gnus-canceled-mark)) |
(not (= (gnus-data-mark datum) gnus-canceled-mark)) |
124 |
(setq msgid (mail-header-id (gnus-data-header datum))) |
(setq msgid (mail-header-id (gnus-data-header datum))) |
125 |
(not (nnheader-fake-message-id-p msgid)) |
(not (nnheader-fake-message-id-p msgid)) |
126 |
(not (intern-soft msgid gnus-dup-hashtb))) |
(not (intern-soft msgid gnus-dup-hashtb))) |
127 |
(push msgid gnus-dup-list) |
(push msgid gnus-dup-list) |
128 |
(intern msgid gnus-dup-hashtb)))) |
(intern msgid gnus-dup-hashtb)))) |
129 |
;; Chop off excess Message-IDs from the list. |
;; Chop off excess Message-IDs from the list. |
130 |
(let ((end (nthcdr gnus-duplicate-list-length gnus-dup-list))) |
(let ((end (nthcdr gnus-duplicate-list-length gnus-dup-list))) |
131 |
(when end |
(when end |