From: Simon Josefsson <jas@extundo.com>
Subject: Re: gnus marks nonexistent articles
Date: Sun, 08 Dec 2002 06:38:10 +0100 [thread overview]
Message-ID: <iluvg259ikd.fsf@extundo.com> (raw)
In-Reply-To: <m3bs3xtepf.fsf_-_@multivac.cwru.edu> (prj@po.cwru.edu's message of "Sat, 07 Dec 2002 21:40:54 -0500")
prj@po.cwru.edu (Paul Jarc) writes:
> I think I've figured it out now. When Gnus finds that an article does
> not exist, it marks it as read. But nnmaildir doesn't store marks for
> nonexistent articles. (Does nnimap? nnml?)
Nnimap tries hard to not reset Gnus' marks but only update them with
correct information from the server. So if Gnus thinks a non-existing
article has some set of marks, nnimap never changes it. This is what
is slowing down group entry, btw.. relevant code from
nnimap-request-update-info-internal:
(when (nnimap-mark-permanent-p 'read)
(let (seen unseen)
;; read info could contain articles marked unread by other
;; imap clients! we correct this
(setq seen (gnus-uncompress-range (gnus-info-read info))
unseen (imap-search "UNSEEN UNDELETED")
seen (gnus-set-difference seen unseen)
;; seen might lack articles marked as read by other
;; imap clients! we correct this
seen (append seen (imap-search "SEEN"))
;; remove dupes
seen (sort seen '<)
seen (gnus-compress-sequence seen t)
;; we can't return '(1) since this isn't a "list of ranges",
;; and we can't return '((1)) since g-list-of-unread-articles
;; is buggy so we return '((1 . 1)).
seen (if (and (integerp (car seen))
(null (cdr seen)))
(list (cons (car seen) (car seen)))
seen))
(gnus-info-set-read info seen)))
I guess similar code could be used in nnmaildir too.
> nnmaildir-request-update-info returns only the marks it knows about;
> it removes marks supplied by Gnus that weren't stored by nnmaildir.
> So after it's called, all the nonexistent articles seem to exist as
> unread, as far as Gnus is concerned. Even if nnmaildir is the only
> backend currently affected by this problem, I think it makes sense to
> fix this in Gnus: gnus-request-update-info could artificially add
> (1 . (1- min)) to the read range after getting marks from the backend.
> Thoughts? Objections? Other ideas?
If it is that simple to fix it, I'm for it. OTOH it might be a good
property that backends should never update marks on
server-non-existing articles; it would allow Gnus to have local
articles using those article numbers.
next prev parent reply other threads:[~2002-12-08 5:38 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2002-12-06 17:41 nnmaildir's article counts are better now Paul Jarc
2002-12-06 19:36 ` Josh Huber
2002-12-06 19:42 ` Paul Jarc
2002-12-06 19:53 ` Josh Huber
2002-12-06 20:09 ` Paul Jarc
2002-12-06 21:01 ` Josh Huber
2002-12-08 2:40 ` gnus marks nonexistent articles (was: nnmaildir's article counts are better now) Paul Jarc
2002-12-08 5:38 ` Simon Josefsson [this message]
2002-12-09 5:50 ` gnus marks nonexistent articles Paul Jarc
2002-12-09 9:44 ` Simon Josefsson
2002-12-09 19:42 ` Paul Jarc
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=iluvg259ikd.fsf@extundo.com \
--to=jas@extundo.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).