From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on inbox.vuxu.org X-Spam-Level: X-Spam-Status: No, score=-3.3 required=5.0 tests=MAILING_LIST_MULTI, RCVD_IN_DNSWL_MED,RCVD_IN_MSPIKE_H2 autolearn=ham autolearn_force=no version=3.4.4 Received: (qmail 29210 invoked from network); 2 Feb 2023 06:18:19 -0000 Received: from lists.gnu.org (209.51.188.17) by inbox.vuxu.org with ESMTPUTF8; 2 Feb 2023 06:18:19 -0000 Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pNSvF-0004e3-5W; Thu, 02 Feb 2023 01:18:13 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pNSvC-0004dS-6a for info-gnus-english@gnu.org; Thu, 02 Feb 2023 01:18:10 -0500 Received: from ciao.gmane.io ([116.202.254.214]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pNSvA-00064p-9q for info-gnus-english@gnu.org; Thu, 02 Feb 2023 01:18:09 -0500 Received: from list by ciao.gmane.io with local (Exim 4.92) (envelope-from ) id 1pNSv6-0000Le-DF for info-gnus-english@gnu.org; Thu, 02 Feb 2023 07:18:04 +0100 X-Injected-Via-Gmane: http://gmane.org/ To: info-gnus-english@gnu.org From: Eric Abrahamsen Subject: Re: wrong gnus-search in nnml folder Date: Wed, 01 Feb 2023 22:17:58 -0800 Message-ID: <87o7qcy4ix.fsf@ericabrahamsen.net> References: <877cx46yr2.fsf@gmail.com> <871qnbx6eu.fsf@ericabrahamsen.net> <87sffr6g9o.fsf@gmail.com> <87o7qf6fp6.fsf@gmail.com> <87k013oo64.fsf@ericabrahamsen.net> <87zg9zspz4.fsf@gmail.com> <87leljsovo.fsf@gmail.com> <87ilgn7iu5.fsf@ericabrahamsen.net> <87edrb1uch.fsf@gmail.com> <87h6w44v24.fsf@gmail.com> Mime-Version: 1.0 Content-Type: text/plain User-Agent: Gnus/5.13 (Gnus v5.13) Cancel-Lock: sha1:pJzF3JcoxmSkcnX5KuiyzNmfeNY= Received-SPF: pass client-ip=116.202.254.214; envelope-from=gegu-info-gnus-english@m.gmane-mx.org; helo=ciao.gmane.io X-Spam_score_int: -15 X-Spam_score: -1.6 X-Spam_bar: - X-Spam_report: (-1.6 / 5.0 requ) BAYES_00=-1.9, HEADER_FROM_DIFFERENT_DOMAINS=0.25, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=no autolearn_force=no X-Spam_action: no action X-BeenThere: info-gnus-english@gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "Announcements and discussions for GNUS, the GNU Emacs Usenet newsreader \(in English\)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: info-gnus-english-bounces+ml=inbox.vuxu.org@gnu.org Sender: info-gnus-english-bounces+ml=inbox.vuxu.org@gnu.org Fernando de Morais writes: > Hello Angel and Eric, > > Angel de Vicente writes: > >> What I don't get to work is compound queries like since:3d from:alex >> (they work separetely, but nothing gets returned if I try to combine >> two queries... > > I use mairix as my search engine on nnmaildir servers and this behavior > has always annoyed me, although I wasn't able to figure out why it > cannot perform this kind of search, until Eric pointed out the > possibility of debugging `gnus-search-run-search'. Please report all annoyance as a bug! :) > The mairix command interprets each query as an individual argument. > When we pass a query like: > > #+begin_example > Query: from:alex since:3d > #+end_example > > In `gnus-search-run-search' it will become a sole string > ("f:alex d:20230129-"), and mairix will return nothing. > > Just for a simple experiment, I reevaluated the `gnus-search-run-search' > with the following lines changed: > > --- # > +++ # > @@ -1332,7 +1332,8 @@ > (message "Doing %s query on %s..." program groups) > (message "Doing %s query..." program)) > (setq proc (apply #'start-process (format "search-%s" server) > - buffer program cp-list)) > + buffer program (flatten-list (mapcar #'split-string > + cp-list)))) > (while (process-live-p proc) > (accept-process-output proc)) > (setq exitstatus (process-exit-status proc)) > > And the result of a search like the give example above was the same > given by mairix via terminal. > > > P.S.: To clarify, I'm using Emacs 28.2. That's very interesting! And odd, since none of the other command-line-type search engines seem to care that the whole query is passed in as a single string. I wonder if that behavior is an accident, though, and the mairix behavior is actually the one we should be expecting. Instead of the patch above, would you confirm that eval'ing the following produces the right behavior? (cl-defmethod gnus-search-indexed-search-command ((engine gnus-search-mairix) (qstring string) query &optional _groups) (with-slots (switches config-file) engine (append `("--rcfile" ,config-file "-r") switches (when (alist-get 'thread query) (list "-t")) (split-string qstring)))) Though I'll continue investigating this, and might end up implementing this for all engines. Thanks for the bug-hunting, Eric