Gnus development mailing list
 help / color / mirror / Atom feed
From: Andrew Cohen <cohen@bu.edu>
To: ding@gnus.org
Subject: Re: [RFC] Gnus generalized search, part II
Date: Sat, 29 Apr 2017 07:26:29 +0800	[thread overview]
Message-ID: <87y3ukf716.fsf@hanan> (raw)
In-Reply-To: <87efwc2r1x.fsf@ericabrahamsen.net>

>>>>> "Eric" == Eric Abrahamsen <eric@ericabrahamsen.net> writes:

    Eric> Eric Abrahamsen <eric@ericabrahamsen.net> writes: [...]

    >> If this only ever gets called from the summary buffer (possibly
    >> an incorrect assumption), would it make sense to pass the value
    >> of gnus-newsgroup-threads to `gnus-search-refer-thread' instead
    >> of bare message ids? gnus-newsgroup-threads already has the
    >> reference headers in it, and would get us halfway there
    >> already...

    Eric> Of course I realized right afterwards that this or something
    Eric> like it is exactly what you were talking about doing. I'm
    Eric> getting there, just slowly...


:)

The other reason for not using the search-engine based notion of
threading: my threads are often spread out over multiple servers (and
even multiple backend types, like imap and gmane). With nnselect gnus
has no problem making threads that span these things, and previously
with the old nnir and the current nnselect thread referral will 
work happily in this context (that is, gnus will create the thread with
all the articles that have been retrieved even crossing server and
backend types; then thread referral will attempt to consult ALL relevant
servers and backends to find as many thread related articles as
possible). Using the native thread searching won't be able to do this
well.

I do think the option should be available to do a native thread search,
but I strongly think the default should be the more general version that
we have now. It isn't particularly slow (and I doubt its significantly,
if at all, slower than native thread searching---it just lets gnus
construct the proper list of message ids rather than using a native
list).

I prefer passing the list of message-ids to gnus-search (rather than a
gnus construct like the dependencies hash), and then letting gnus-search
create the proper query and do the search (this is more or less how
things are now: nnselect calls nnimap-make-thread-query with the set of
message-ids to construct the query and then subsequently calls
nnir-run-query to do the search. We could keep the two steps or combine
into one function).  Aside from being simple and clean this has the
advantage of allowing the function to be called for any user-generated
(rather than gnus-generated) list of message-ids, not just a real
thread. That way you could use this function to make an nnselect group
of a bunch of related messages that weren't necessarily part of a
singlet thread. For example we have several threads related to this new
stuff going on in gmane.emacs.gnus.general and emacs-devel (and as soon
as I get around to posting my survey gmane.emacs.gnus.user :)) and this
would allow all of these things to appear as one group.

Best,
Andy




  reply	other threads:[~2017-04-28 23:26 UTC|newest]

Thread overview: 41+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-04-21 21:35 Eric Abrahamsen
2017-04-22  0:16 ` Andrew Cohen
2017-04-22  7:50   ` Eli Zaretskii
2017-04-22  8:00     ` Andrew Cohen
2017-04-22 19:53 ` Lars Ingebrigtsen
2017-04-22 20:26   ` Eric Abrahamsen
2017-04-24 20:30   ` Eric Abrahamsen
2017-04-26  4:41     ` Andrew Cohen
2017-04-26  6:31       ` Adam Sjøgren
2017-04-26  7:39         ` Saša Janiška
2017-04-26 16:07           ` Eric Abrahamsen
2017-04-26  9:21       ` Joakim Jalap
2017-04-26 15:51       ` Eric Abrahamsen
     [not found]       ` <7e7ccca805864b5398551cc74123df11@HE1PR01MB1898.eurprd01.prod.exchangelabs.com>
     [not found]         ` <87k2653oum.fsf@delle7240>
2017-04-27 19:35           ` Eric Abrahamsen
2017-04-28  1:18           ` Andrew Cohen
     [not found]           ` <cb06d28e83ab4a6cab1b3cd02fc7e554@HE1PR01MB1898.eurprd01.prod.exchangelabs.com>
     [not found]             ` <87zif16j2t.fsf@delle7240>
2017-04-28  9:16               ` Andrew Cohen
2017-04-26  8:18     ` Andrew Cohen
2017-04-26 16:37       ` Eric Abrahamsen
2017-04-26 22:31         ` Eric Abrahamsen
2017-04-27  4:27           ` Andrew Cohen
2017-04-27 18:22             ` Eric Abrahamsen
2017-04-28  1:15               ` Andrew Cohen
2017-04-28 18:23                 ` Eric Abrahamsen
2017-04-28 20:52                   ` Eric Abrahamsen
2017-04-28 23:26                     ` Andrew Cohen [this message]
2017-04-29  3:57                       ` Eric Abrahamsen
2017-04-29  9:37                         ` Andrew Cohen
2017-04-30  5:13                           ` Eric Abrahamsen
2017-04-28 23:34                   ` Andrew Cohen
2017-04-29  4:16                     ` Eric Abrahamsen
2017-04-29 21:20                 ` Harry Putnam
2017-04-30  0:15                   ` Andrew Cohen
2017-04-26 17:50       ` Eric Abrahamsen
2017-04-26  8:22     ` Andrew Cohen
2017-04-23 13:48 ` Dan Christensen
2017-04-23 17:19   ` Eric Abrahamsen
2017-04-23 17:59     ` Dan Christensen
2017-04-23 23:22       ` Eric Abrahamsen
2017-04-24  1:37         ` Dan Christensen
2017-04-24 21:02           ` Eric Abrahamsen
2017-06-10  4:46     ` Eric Abrahamsen

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=87y3ukf716.fsf@hanan \
    --to=cohen@bu.edu \
    --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).