From mboxrd@z Thu Jan 1 00:00:00 1970 X-Msuck: nntp://news.gmane.io/gmane.emacs.gnus.general/87479 Path: news.gmane.org!.POSTED!not-for-mail From: Eric Abrahamsen Newsgroups: gmane.emacs.gnus.general Subject: Re: Testers wanted: New gnus backend nnselect Date: Mon, 24 Apr 2017 13:52:54 -0700 Message-ID: <87r30h5xzt.fsf@ericabrahamsen.net> References: <87pog233uy.fsf@hanan> NNTP-Posting-Host: blaine.gmane.org Mime-Version: 1.0 Content-Type: text/plain X-Trace: blaine.gmane.org 1493067271 13543 195.159.176.226 (24 Apr 2017 20:54:31 GMT) X-Complaints-To: usenet@blaine.gmane.org NNTP-Posting-Date: Mon, 24 Apr 2017 20:54:31 +0000 (UTC) User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.0.50 (gnu/linux) To: ding@gnus.org Original-X-From: ding-owner+m35696@lists.math.uh.edu Mon Apr 24 22:54:28 2017 Return-path: Envelope-to: ding-account@gmane.org Original-Received: from mxfilter-048035.atla03.us.yomura.com ([107.189.48.35]) by blaine.gmane.org with esmtp (Exim 4.84_2) (envelope-from ) id 1d2l04-0003JB-Aa for ding-account@gmane.org; Mon, 24 Apr 2017 22:54:24 +0200 X-Yomura-MXScrub: 1.0 Original-Received: from lists1.math.uh.edu (unknown [129.7.128.208]) by mxfilter-048035.atla03.us.yomura.com (Halon) with ESMTPS id 342f19ad-2930-11e7-b087-b499baabecb2; Mon, 24 Apr 2017 20:54:27 +0000 (UTC) Original-Received: from localhost ([127.0.0.1] helo=lists.math.uh.edu) by lists1.math.uh.edu with smtp (Exim 4.87) (envelope-from ) id 1d2kzD-0006Ix-Uy; Mon, 24 Apr 2017 15:53:32 -0500 Original-Received: from mx2.math.uh.edu ([129.7.128.33]) by lists1.math.uh.edu with esmtps (TLSv1.2:ECDHE-RSA-AES256-GCM-SHA384:256) (Exim 4.87) (envelope-from ) id 1d2kz9-0006IE-Qx for ding@lists.math.uh.edu; Mon, 24 Apr 2017 15:53:27 -0500 Original-Received: from quimby.gnus.org ([80.91.231.51]) by mx2.math.uh.edu with esmtps (TLSv1.2:DHE-RSA-AES128-SHA:128) (Exim 4.87) (envelope-from ) id 1d2kz6-0000u7-Ul for ding@lists.math.uh.edu; Mon, 24 Apr 2017 15:53:27 -0500 Original-Received: from [195.159.176.226] (helo=blaine.gmane.org) by quimby.gnus.org with esmtps (TLS1.2:RSA_AES_128_CBC_SHA1:128) (Exim 4.80) (envelope-from ) id 1d2kz5-0001D8-Iq for ding@gnus.org; Mon, 24 Apr 2017 22:53:23 +0200 Original-Received: from list by blaine.gmane.org with local (Exim 4.84_2) (envelope-from ) id 1d2kyx-0001tq-W9 for ding@gnus.org; Mon, 24 Apr 2017 22:53:15 +0200 X-Injected-Via-Gmane: http://gmane.org/ Original-Lines: 64 Original-X-Complaints-To: usenet@blaine.gmane.org Cancel-Lock: sha1:EpHUnFs9xcFWbME6GlVfCXdr2Dk= List-ID: Precedence: bulk Xref: news.gmane.org gmane.emacs.gnus.general:87479 Archived-At: Andrew Cohen writes: > TLDR: Please test the new feature found on the git repository at > feature/gnus-select. Very cool! Later this week I'll make another copy of the search-language branch that's rebased onto this one. [...] > Why is it invasive? It is a generalization of the code I wrote many > years ago re-working the nnir backend. Consequently in this new format > nnir has CEASED to be a backend and is now just some code for searching > indices. Searching in gnus now works by creating an ephemeral nnselect > group where the list of articles is obtained from nnir. Once this has landed, I hope we can rename nnir.el to gnus-search.el, and drop the "nnir" term altogether. > I have so far mostly tested this with imap. Since it is essentially > backend independent it should just work, but this needs to be tested. > > So please, please, give it some testing. The new code can be found in a > branch, feature/gnus-select, in the emacs git repository. Just check it > out, make, and give it a whirl. > > Ideally if you just continue searching as you have always done you won't > notice much of a difference (except that referring threads is a bit > different---more on that later). This is the first thing that needs > testing. I've started on a gnus-search-thread method for the search engines -- in fact, the majority of them can already handle searching by thread. Ideally `nnselect-request-thread' could then become engine-agnostic, and only punt if the engine in question doesn't implement the `gnus-search-thread' method. > Once you are confident that this is working you can try new > things. Firstly make some permanent nnselect groups. You do this as you > would for any group: start with "G m" (gnus-group-make-group) from the > Group buffer; give it a name; choose the method "nnselect"; it will then > query for a function; and then an argument. The function will be applied > to the argument (with funcall) to generate the list of articles. A good > choice for the function is nnir-run-query, and the argument can be an > appropriate search query (some examples below). It can also be any > function that returns a vector, each entry of which is a 3-vector formed > from [Group, Number, Score] (the group containing the actual article; > the number of the article in that group; a score, which is supposed to > help in sorting but is largely unused at this point---just set it to 1 > if you are unsure). So for a silly example the function could be the > identity, and the arg this vector. I think that, to maximize chances of people actually testing this, it would be best to provide a ready-made `gnus-group-make-persistent-search-group' function (or call it whatever), and give it a keybinding. Say: "G g": gnus-group-make-ephemeral-search-group "G G": gnus-group-make-persistent-search-group I know this or something like it is on the todo list, but I'd recommend doing this first so people are more likely to give it a whirl... Eric