Konstantin Ryabitsev <konstantin@xxxxxxxxxxxxxxxxxxx> wrote: > On Mon, Nov 08, 2021 at 09:48:36PM +0000, Eric Wong wrote: > > > 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@xxxxxxxxxx > > > > > > 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: > > So, to be clear here... the following doesn't work because instead of multiple > query parameters to 'lei q' the single-quoted string becomes a single > parameter? > > lei q -I https://lore.kernel.org/all/ -o ~/work/temp/lei/robh-patches \ > --threads --dedupe=mid \ > '(dfn:drivers OR dfn:arch OR dfn:Documentation OR dfn:include OR dfn:scripts) AND f:robh@xxxxxxxxxx' > > Any way to make this work? I find that it's more easily readable than the > "echo | lei q" version. I can't think of a way to make it work w/o breaking phrase searches (or asking users to use both single and double-quotes): lei q 's:"a quick brown fox"' # yuck > For bash users, the following should work as well: > > lei q -I https://lore.kernel.org/all/ -o ~/work/temp/lei/robh-patches \ > --threads --dedupe=mid <<< \ > '(dfn:drivers OR dfn:arch OR dfn:Documentation OR dfn:include OR dfn:scripts) AND f:robh@xxxxxxxxxx' Oh, not sure about bash and <<<; but this heredoc should work with any POSIX sh: lei q -I https://lore.kernel.org/all/ \ -o ~/work/temp/lei/robh-patches \ --threads --dedupe=mid <<'EOM' (dfn:drivers OR dfn:arch OR dfn:Documentation OR dfn:include OR dfn:scripts) AND f:robh@xxxxxxxxxx EOM > Suggestion, can -I accept the URL containing the query, so that the command > becomes: > > lei q -o ~/mail/foo --threads --dedupe=mid -I \ > https://lore.kernel.org/all/?q=f%3Atorvalds+AND+nq%3Agarbage > > This way we pass both the location of the extindex to query AND the parameters > we should use, avoiding shell quoting problems? Maybe, but URI escaping bothers the heck out of me, too. I guess the heredoc example is actually good...