Look at the message from Karl Pflästerer where point is. It is message 46119. It is marked with "-" in the first column, ie it is marked as undownloaded. I guess this is because gnus-agent-get-undownloaded-list returns it as undownloaded: Debugger entered--returning value: (46058 46067 46073 46107 46116 42510 42511 42517 42523 42527 42528 42529 42530 42531 42533 42535 42540 42579 42586 42601 42602 42608 42610 42614 42616 42618 42627 42639 42647 42648 42652 42653 42654 42745 42749 42774 42848 42853 42854 42856 42859 42860 42861 42862 42866 42868 42869 42870 42878 42885 42886 42899 42914 42915 42971 43013 43017 43111 43114 43167 43169 43211 43224 43225 43272 43273 43644 43696 43718 43726 43752 43754 43755 43761 43762 43857 44057 44125 44126 44139 44144 44147 44154 44156 44159 45715 46111 46119) gnus-agent-get-undownloaded-list() (progn (gnus-agent-get-undownloaded-list)) (if gnus-agent (progn (gnus-agent-get-undownloaded-list))) (when gnus-agent (gnus-agent-get-undownloaded-list)) (cond ((null articles) (quote quit)) ((eq articles 0) nil) (t (setq gnus-newsgroup-dependencies ...) (gnus-set-global-variables) (setq gnus-newsgroup-headers ...) (when cached ...) (when gnus-suppress-duplicates ...) (setq gnus-newsgroup-limit ...) (setq fetched-articles ...) (setq gnus-newsgroup-articles fetched-articles) (setq gnus-newsgroup-unreads ...) (gnus-compute-unseen-list) (gnus-update-missing-marks ...) (when ... ...) (when gnus-agent ...) (when gnus-list-identifiers ...) (setq gnus-newsgroup-auto-expire ...) (unless gnus-single-article-buffer ...) (when gnus-newsgroup-headers ...) (or gnus-newsgroup-headers t))) (let* ((entry ...) (gnus-summary-ignore-duplicates ...) (info ...) articles fetched-articles cached) (unless (gnus-check-server ...) (error "Couldn't open server")) (or (and entry ...) (gnus-activate-group group) (progn ... ...)) (unless (gnus-request-group group t) (when ... ...) (error "Couldn't request group %s: %s" group ...)) (setq gnus-newsgroup-name group gnus-newsgroup-unselected nil gnus-newsgroup-unreads (gnus-list-of-unread-articles group)) (let (...) (setq gnus-newsgroup-display ...)) (gnus-summary-setup-default-charset) (when (gnus-virtual-group-p group) (setq cached gnus-newsgroup-cached)) (setq gnus-newsgroup-unreads (gnus-sorted-ndifference ... gnus-newsgroup-dormant)) (setq gnus-newsgroup-processable nil) (gnus-update-read-articles group gnus-newsgroup-unreads) (when info (gnus-adjust-marked-articles info)) (if (setq articles select-articles) (setq gnus-newsgroup-unselected ...) (setq articles ...)) (cond (... ...) (... nil) (t ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...))) gnus-select-newsgroup("nntp+quimby:gnus.ding" nil nil) gnus-summary-read-group-1("nntp+quimby:gnus.ding" nil t nil nil nil) gnus-summary-read-group("nntp+quimby:gnus.ding" nil t nil nil nil nil) gnus-group-read-group(nil t) gnus-group-select-group(nil) gnus-topic-select-group(nil) call-interactively(gnus-topic-select-group) The .agentview file in that directory starts out like this: ((731268 46118 . 46123) (731267 46090 . 46117) [...deletia...] So I think that the .agentview file thinks it has been downloaded. The .overview file has an entry for that article, which looks okay: 46119 Re: Proposed patch sigurd@12move.de (Karl =?iso-8859-1?q?Pfl=E4sterer?=) Fri, 21 Feb 2003 22:58:07 +0100 <84isvfe05f.fsf@lucy.is.informatik.uni-duisburg.de> <84d6lls5gk.fsf@lucy.is.informatik.uni-duisburg.de> 4124 38 Xref: quimby.gnus.org gnus.ding:46119 I also ran (gnus-agent-check-overview-buffer) on that buffer, and it appears to be sorted. I *think* that this means that gnus-agent-get-undownloaded-list has a bug. But I'm not sure. What do you think about the above evidence? (gnus-agent-get-undownloaded-list has complex logic, I'm having trouble to grok it.) -- A preposition is not a good thing to end a sentence with.