From mboxrd@z Thu Jan 1 00:00:00 1970 X-Msuck: nntp://news.gmane.io/gmane.emacs.gnus.general/80000 Path: news.gmane.org!not-for-mail From: Andrew Cohen Newsgroups: gmane.emacs.gnus.general Subject: Re: nnir, gnus-goto-article and such Date: Thu, 22 Sep 2011 09:01:15 -0400 Message-ID: <87mxdwd944.fsf@andy.bu.edu> References: NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain X-Trace: dough.gmane.org 1316696550 26017 80.91.229.12 (22 Sep 2011 13:02:30 GMT) X-Complaints-To: usenet@dough.gmane.org NNTP-Posting-Date: Thu, 22 Sep 2011 13:02:30 +0000 (UTC) To: ding@gnus.org Original-X-From: ding-owner+M28294@lists.math.uh.edu Thu Sep 22 15:02:26 2011 Return-path: Envelope-to: ding-account@gmane.org Original-Received: from util0.math.uh.edu ([129.7.128.18]) by lo.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1R6iv3-0001Dg-Gj for ding-account@gmane.org; Thu, 22 Sep 2011 15:02:25 +0200 Original-Received: from localhost ([127.0.0.1] helo=lists.math.uh.edu) by util0.math.uh.edu with smtp (Exim 4.63) (envelope-from ) id 1R6iuJ-0006Yf-FI; Thu, 22 Sep 2011 08:01:39 -0500 Original-Received: from mx1.math.uh.edu ([129.7.128.32]) by util0.math.uh.edu with esmtps (TLSv1:AES256-SHA:256) (Exim 4.63) (envelope-from ) id 1R6iuG-0006YQ-Ia for ding@lists.math.uh.edu; Thu, 22 Sep 2011 08:01:36 -0500 Original-Received: from quimby.gnus.org ([80.91.231.51]) by mx1.math.uh.edu with esmtps (TLSv1:AES256-SHA:256) (Exim 4.76) (envelope-from ) id 1R6iuC-0005l7-HT for ding@lists.math.uh.edu; Thu, 22 Sep 2011 08:01:33 -0500 Original-Received: from lo.gmane.org ([80.91.229.12]) by quimby.gnus.org with esmtp (Exim 4.72) (envelope-from ) id 1R6iuA-0006hE-1D for ding@gnus.org; Thu, 22 Sep 2011 15:01:30 +0200 Original-Received: from list by lo.gmane.org with local (Exim 4.69) (envelope-from ) id 1R6iu9-0000iV-PU for ding@gnus.org; Thu, 22 Sep 2011 15:01:29 +0200 Original-Received: from andy.bu.edu ([128.197.41.152]) by main.gmane.org with esmtp (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Thu, 22 Sep 2011 15:01:29 +0200 Original-Received: from cohen by andy.bu.edu with local (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Thu, 22 Sep 2011 15:01:29 +0200 X-Injected-Via-Gmane: http://gmane.org/ Original-Lines: 68 Original-X-Complaints-To: usenet@dough.gmane.org X-Gmane-NNTP-Posting-Host: andy.bu.edu User-Agent: Gnus/5.110018 (No Gnus v0.18) Emacs/24.0.50 (gnu/linux) Cancel-Lock: sha1:zauPbWwXqMnJ5JfPNkzDAYXygzg= X-Spam-Score: -5.4 (-----) List-ID: Precedence: bulk Xref: news.gmane.org gmane.emacs.gnus.general:80000 Archived-At: >>>>> "John" == John Wiegley writes: [...] John> What doesn't work is that 'A T' doesn't do everything it can John> to recursively find all referenced articles from all John> refer-article sources. The logic used in 'A T' is different from that of 'A R' and friends because its doing something different. That's not to say that it doesn't have bugs, and I'm sure that it can be improved. John> In contrast, if you hand-select each article that 'A R' finds, John> and then press 'A R' on that, and so on recursively, you will John> ultimately end up with the entire thread. I don't think this gives the entire thread. It only gives the articles that precede the article you start with along the current branch. If there are subsequent articles along the current branch, or articles on another branch, this recursive procedure won't find them. That's why the 'A T' function tries to do a /search/ for articles rather than just recursive retrieval. This is complicated by the limitations of the different kinds of servers. Here is the complete `A T' logic for nntp and nnimap groups: 1. nntp: The nntp protocol has no searching capabilities at all, so there is no way to search by message-id. Gmane has a Xapian-powered search engine written by Olly Betts that works very well, but doesn't allow searching by message-id. What gnus does in this case is very primitive: it retrieves the headers for a (configurable) number of articles before and after the current article (250 before and 250 after by default) in the current group, and then gnus itself searches within these headers for articles belonging to the thread. But there is no way to know if there are other articles in the thread in other groups or on other servers. 2. nnimap: The imap protocol allows searching by headers, but only within a single group. So by default if you `A T' on an article in an nnimap group a search will be performed for all the articles that might be in the thread in the current group only. Recently I added the ability to replace this search with an nnir search which will look for articles in the thread on the whole server rather than just in the current group. But it won't look outside the server. I have also recently re-written much of nnir, but I won't push it until after the freeze is over. As part of this re-write, when searching for a thread on the whole server the registry is consulted to see what group the article on which you invoke `A T' came from, and consult /both/ that server and the server containing the current group. This is a very minor improvement, since most of the time these two servers will be the same. I guess we can consult the registry for all the articles mentioned in the references header and see if any of those articles came from different servers and search those servers as well. But if they are nntp servers we can't really search them effectively (since nntp doesn't have search facilities). We could also configure this to /always/ search a particular set of servers independently of where the proximate article came from. Best, Andy