Konstantin Ryabitsev <[email protected]> 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:[email protected]
> > >
> > > 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:[email protected]'
>
> 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:[email protected]'
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:[email protected]
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...
--
unsubscribe: one-click, see List-Unsubscribe header
archive: https://public-inbox.org/meta/