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: Sat, 23 Aug 2008 16:52:52 +0200	[thread overview]
Message-ID: <87myj3wzp7.fsf@randomsample.de> (raw)
In-Reply-To: <m3od3kx8zx.fsf@gravicappa.englab.brq.redhat.com> (Vitaly Mayatskikh's message of "Sat, 23 Aug 2008 13:32:02 +0200")

Vitaly Mayatskikh <v.mayatskih@gmail.com> writes:
>> The problem lies in gnus-read-active-file-2, which is called by
>> gnus-get-unread-articles. This uses nnimap-retrieve-groups to get a
>> partial active file of the checked groups, which is of the "regular"
>> (max . min) style and overwrites the previous "new" active sequence in
>> the hash table.
>
> I can't get this scenario (probably, due to different settings). Will dig
> around more.

Try playing with gnus-read-active-file and call gnus-group-get-new-news
with a level argument. nnimap is my primary select method, maybe this
also comes into play.

I tested this with

(save-excursion
  (set-buffer gnus-group-buffer)
  (gnus-group-jump-to-group "sent")
  (gnus-group-get-new-news-this-group)
  (princ (gnus-active "sent") t);; will return full range
  (gnus-group-get-new-news 3)
  (princ (gnus-active "sent") t) ;; returns one range, e.g. (1 . 2500)
)

>> Anyway, I have the feeling this gets messy. I'm not sure if this is the
>> right way to do this. The main problem I see is that this will break any
>> code which depends on gnus-active returning the cons (max . min). For
>> example, this currently breaks nnmairix, which isn't that much of a
>> problem since I can change this. But I wonder how much external code
>> exists which uses gnus-active.
>
> As I understand, this change affects only "middle level" back ends like
> yours nnmairix, which lays in between of Gnus and real transport back
> ends. Of course, it is hard to say what exactly can be broken.

That's right (both statements).

>> What about not extending the group info, but putting the unread sequence
>> in the existing marks section. Either the back end does this, then it
>> can be included, or we do it the old way. Just a suggestion, I don't
>> know if this works. As I said, I'm not that familiar with the back end
>> internals.
>
> I'm only afraid of spaghetti code. For me it's better to have one clean
> and consistent solution.

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.

Another suggestion: maybe all this work should be strictly kept in the
back end itself?  We could implement a new back end function, like
'nnimap-unread-articles GROUP SERVER', which just returns the number of
unread articles. We can check for the existence of specific back end
functions with gnus-check-backend-function, so no need for additional
flags.

-David



  reply	other threads:[~2008-08-23 14:52 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 [this message]
2008-08-24  8:47                       ` Vitaly Mayatskikh
2008-08-24 18:09                         ` David Engster
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=87myj3wzp7.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).