Gnus development mailing list
 help / color / mirror / Atom feed
From: David Engster <deng@randomsample.de>
To: ding@gnus.org
Subject: Re: gnus and imap
Date: Sun, 24 Aug 2008 20:09:36 +0200	[thread overview]
Message-ID: <878wumqo7z.fsf@randomsample.de> (raw)
In-Reply-To: <m3myj2pznr.fsf@gravicappa.englab.brq.redhat.com> (Vitaly Mayatskikh's message of "Sun, 24 Aug 2008 10:47:52 +0200")

Vitaly Mayatskikh <v.mayatskih@gmail.com> writes:
>> Absolutely. The problem is that active information is used throughout
>> Gnus, and the code is in parts already pretty convoluted, especially the
>> ones dealing with updating groups and checking for unread messages. I
>> guess that putting unread information in gnus-info would affect fewer
>> parts of the code.
>
> Yes, but we still have to fix all this convoluted code (for
> gnus-unread-info or whatever). Unread articles calculations (count of
> articles, list of articles) are totally wrong for the case of IMAP.

I wonder why it's that bad with the Zimbra imapd. Doesn't it produce
contiguous UIDs? I mean, I also get wrong article numbers with dovecot,
but only in cases when I delete or move articles, but these are not
"totally" wrong. As the documentation says, the number is an estimate,
after all.

By the way, the reason for generating a partial active file for nnimap
is simply speed. Scanning every single group is slow (this is what
gnus-group-get-new-news-this-group does - it's much slower than just
gnus-group-get-new-news). See this thread for an explanation:

http://thread.gmane.org/gmane.emacs.gnus.general/26128/focus=26762

> It might be a good idea to extend api of back ends.

I also further searched through gmane for the problem of wrong article
counts, since this topic came up frequently on the ding list. And lo and
behold, there's stuff already in Gnus for this, it's just not documented
in the manual.

,----
| gnus-request-group-articles is a compiled Lisp function in `gnus-int.el'.
| (gnus-request-group-articles group)
| 
| Request a list of existing articles in group.
`----

This function calls a back end function
*-request-group-articles. However, this is currently only implemented
for nntp.

We could implement this for nnimap and use it for the calculation of the
unread count, and also for the calculation of the total number of
articles in a group, which is also usually wrong in case of gaps in the
article numbers. I think this is much easier to handle than extending
gnus-active.

However, we should make this optional, since it will make IMAP access
slower, which may be a problem for people accessing IMAP servers over
slow lines. We should create a new server variable, something like
'exact-count' or something.

BTW, there was also a patch for this, though for nnml, but it was not
integrated into Gnus:

http://thread.gmane.org/gmane.emacs.gnus.general/56714

The comments on this are interesting, especially the ones from Kevin
Greiner, which led me to the above request-group-articles function.

>  By the way, have Gnus developers any plans of doing large changes in
> Gnus, like refactoring, global cleanup, etc?

Not that I know of.

-David



  reply	other threads:[~2008-08-24 18:09 UTC|newest]

Thread overview: 51+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-08-19 16:14 Vitaly Mayatskikh
2008-08-19 20:12 ` Frank Schmitt
2008-08-19 22:24   ` Vitaly Mayatskikh
2008-08-20  6:42     ` Vegard Vesterheim
2008-08-20  7:41       ` Vitaly Mayatskikh
2008-08-20 16:16 ` David Engster
2008-08-21  6:26   ` Vitaly Mayatskikh
2008-08-21 11:27     ` David Engster
2008-08-21 12:57       ` Tibor Simko
2008-08-22  8:44         ` Vitaly Mayatskikh
2008-08-22  8:54           ` David Engster
2008-08-22 15:35           ` Tibor Simko
2008-08-21 15:06       ` Vitaly Mayatskikh
2008-08-21 21:15       ` Frank Schmitt
2008-08-22 12:13       ` Reiner Steib
2008-08-22 12:30         ` Vitaly Mayatskikh
2008-08-22 15:50           ` Ted Zlatanov
2008-08-22 16:10             ` Vitaly Mayatskikh
2008-08-22 16:21         ` David Engster
2008-08-22 16:27           ` Vitaly Mayatskikh
2008-08-22 17:33             ` David Engster
2008-08-22 18:11               ` Vitaly Mayatskikh
2008-08-23  9:19                 ` David Engster
2008-08-23 11:32                   ` Vitaly Mayatskikh
2008-08-23 14:52                     ` David Engster
2008-08-24  8:47                       ` Vitaly Mayatskikh
2008-08-24 18:09                         ` David Engster [this message]
2008-08-24 19:29                           ` Reiner Steib
2008-08-24 23:39                             ` David Engster
2008-08-25 19:22                               ` James Cloos
2008-08-25  0:00                           ` Daniel Pittman
2008-08-25  9:46                             ` David Engster
2008-08-25 18:02                               ` Ted Zlatanov
2008-08-25 19:50                                 ` David Engster
2008-08-25  8:05                           ` Vitaly Mayatskikh
2008-08-25 12:25                             ` David Engster
2008-08-25 13:17                               ` Vitaly Mayatskikh
2008-08-25 17:53                         ` Ted Zlatanov
2008-08-24  9:18                       ` Vitaly Mayatskikh
2008-08-24 10:08                         ` David Engster
2008-08-26 20:40                           ` Vitaly Mayatskikh
2008-09-03 11:55                             ` David Engster
2008-09-21  9:57                               ` David Engster
2009-12-07 18:57                                 ` Dan Christensen
2009-12-10 20:08                                   ` Dan Christensen
2009-12-11 20:36                                     ` David Engster
  -- strict thread matches above, loose matches on Subject: below --
2002-07-09  8:52 gnus and IMAP me
2002-07-09  9:29 ` Niklas Morberg
2002-07-09 10:17   ` me
2002-07-09 10:27   ` me
2002-07-09 10:52   ` me

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=878wumqo7z.fsf@randomsample.de \
    --to=deng@randomsample.de \
    --cc=ding@gnus.org \
    /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).