From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on dcvr.yhbt.net X-Spam-Level: X-Spam-ASN: X-Spam-Status: No, score=-4.0 required=3.0 tests=ALL_TRUSTED,AWL,BAYES_00 shortcircuit=no autolearn=ham autolearn_force=no version=3.4.2 Received: from localhost (dcvr.yhbt.net [127.0.0.1]) by dcvr.yhbt.net (Postfix) with ESMTP id 64C741F953; Mon, 8 Nov 2021 21:48:36 +0000 (UTC) Date: Mon, 8 Nov 2021 21:48:36 +0000 From: Eric Wong To: Konstantin Ryabitsev Cc: Rob Herring , meta@public-inbox.org, workflows@vger.kernel.org Subject: Re: lei: incorrect quoting on saved searches (was Re: lore+lei: getting started) Message-ID: <20211108214836.GA21665@dcvr> References: <20211108202204.q5zg6bachnvbjlnx@meerkat.local> <20211108204923.GA12823@dcvr> <20211108213613.4hjtbokwzar7x4ph@meerkat.local> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline In-Reply-To: <20211108213613.4hjtbokwzar7x4ph@meerkat.local> List-Id: Konstantin Ryabitsev wrote: > On Mon, Nov 08, 2021 at 08:49:23PM +0000, Eric Wong wrote: > > Konstantin Ryabitsev wrote: > > > On Mon, Nov 08, 2021 at 01:49:07PM -0600, Rob Herring wrote: > > > > > > > lei q -I https://lore.kernel.org/all/ -o ~/Mail/floppy \ > > > > > --threads --dedupe=mid \ > > > > > '(dfn:drivers/block/floppy.c OR dfhh:floppy_* OR s:floppy \ > > > > > OR ((nq:bug OR nq:regression) AND nq:floppy)) \ > > > > > AND rt:1.month.ago..' > > > > > > > > I tried a similar one which I had working as a bookmark: > > > > That's actually treating the entire single-quoted section as > > a phrase search for Xapian. > > Hmm... I noticed that when I `lei edit-search` the initial query that was > causing quoting issues, I get the following: > > [lei] > q = (dfn:drivers OR dfn:arch OR dfn:Documentation OR dfn:include OR dfn:scripts) AND f:robh@kernel.org > > So, the extra quotes didn't get added to the config file. Running `lei up` on > that saved search seems to do the right thing, so the erroneous quotes are > only added during the initial `lei q` call. Right, each entry in lei.q is actually an entry in argv[]. So the correct query should look something like: [lei] q = ( q = dfn:drivers/block/floppy.c q = OR ... > > The correct way to use '(', ')', and '*' on the command-line for > > Xapian is to shell escape them: > > But putting them into single quotes should accomplish the same result, no? At > least, that's how I've always understood shell escaping. Yeah, that works, too. As long as spaces/tabs don't show up within each argv[] element, it won't be interpreted as a phrase. I really wanted: lei q s:"a quick brown fox" to work from a shell like it would in the WWW UI; and thus deprioritized '(' and ')' working properly :x