Gnus development mailing list
 help / color / mirror / Atom feed
From: Ted Zlatanov <tzz@lifelogs.com>
To: ding@gnus.org
Subject: Re: Can I do this with the registry?
Date: Fri, 20 Mar 2009 16:26:01 -0500	[thread overview]
Message-ID: <86vdq3naxi.fsf@lifelogs.com> (raw)
In-Reply-To: <m2eiwsgdpd.fsf@boostpro.com>

On Fri, 20 Mar 2009 16:07:58 -0400 David Abrahams <dave@boostpro.com> wrote: 

DA> on Fri Mar 20 2009, Ted Zlatanov <tzz-AT-lifelogs.com> wrote:

>> On Sat, 14 Mar 2009 22:50:32 -0700 David Abrahams <dave@boostpro.com> wrote: 
>> 
DA> I'd really like a way to collect all the messages connected to a thread,
DA> no matter which groups the thread has passed through.  Can the registry
DA> help with that, and if so, how?
>> 
>> The registry can give you the following for a message ID: sender,
>> subject, mtime, and groups for that message.  You can also associate
>> persistent flags with a message.
>> 
>> What you need can be done by looking at the group 

DA> Heh, /which/ group?

The first one returned should be OK.  There's a
gnus-registry-fetch-groups that returns all the groups, but since you
want the article and don't care about where it comes from, you can just
go with the first one:

(let ((id "<m3u08y9g37.fsf@quimbies.gnus.org>")
      (group (gnus-registry-fetch-group id)))
    (debug id group)
    (gnus-activate-group group) ;; is this needed?
    (gnus-request-article id group (current-buffer)))

This doesn't work in this raw form, sorry, but it can get you started.
I couldn't work on it more right now.  Also look at the function that
runs for `^' in the summary buffer, it gets the parent article in the
current group and is close to what you want.

>> for each message ID you need, looking for the message itself, and
>> putting it in a list.  Then you can get the References for the parent
>> message and recurse.

DA> Sounds pretty compute-intensive unless I maintain some other index.

It wouldn't be hard to modify the registry to store the references for
every article it sees, like it stores the subject and sender right now.
Then it's just a quick lookup to find any article's parents.

>> I think you're asking for the list of messages to be interpreted as a
>> virtual thread inside the current group, which is pretty hard and I
>> don't know how to do it.  

DA> Not necessarily.  I might be very happy with something that works like
DA> nnmairix, by creating a "virtual" group on my client containing all the
DA> messages of interest.

I don't know if that will work well, because you'd have to make a new
one for every article and you'd have to leave the group you're currently
visiting.  But if it works for you...

DA> If you think you understand how to approach this problem and wouldn't
DA> mind pointing me in the right direction, I'd be very grateful and very
DA> willing to hack up the solution myself.

I'll be glad to help further when I have the chance.  I hope this info
is somewhat useful.

Ted




      reply	other threads:[~2009-03-20 21:26 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-03-15  5:50 David Abrahams
2009-03-20 19:27 ` Ted Zlatanov
2009-03-20 20:07   ` David Abrahams
2009-03-20 21:26     ` Ted Zlatanov [this message]

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=86vdq3naxi.fsf@lifelogs.com \
    --to=tzz@lifelogs.com \
    --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).