GNU bug report logs -
#56442
gnus-search-run-search: Hits notmuch command line length limits
Previous Next
Full log
View this message in rfc822 format
[Message part 1 (text/plain, inline)]
Your bug report
#56442: gnus-search-run-search: Hits notmuch command line length limits
which was filed against the emacs package, has been closed.
The explanation is attached below, along with your original report.
If you require more details, please reply to 56442 <at> debbugs.gnu.org.
--
56442: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=56442
GNU Bug Tracking System
Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
Hello,
On Sat 09 Jul 2022 at 11:01AM -07, Sean Whitton wrote:
> On Sat 09 Jul 2022 at 09:11AM -07, Eric Abrahamsen wrote:
>
>> Anyway I'll give this a test this weekend. It would be *very* nice if
>> we could use this syntax rather than the ugly home-grown one.
>
> Let me know the results of your test, and if it's also continuing to
> work for me by then, I'll install the change. Thanks for taking a look.
I've been testing it with a variety of complex queries for a week now,
and you indicated you were happy with making a change like this, so I've
gone ahead and pushed to master.
--
Sean Whitton
[Message part 3 (message/rfc822, inline)]
[Message part 4 (text/plain, inline)]
Hello,
I'm running a pretty innocent notmuch query over a fairly small Maildir:
"((List:debian-devel.lists.debian.org) or ... or
(List:debian-haskell.lists.debian.org) or
(List:debconf-discuss.lists.debian.org)) and (not path:annex/**)"
but gnus-search-run-search fails to return any results. The reason is
that Gnus first runs the query with --output=threads to obtain a list of
thread ids, and then runs another query with --output=files and a query
constructed from the output of the first query: "thread:000000000000d9d0
or thread:000000000000d9e0 or thread:000000000000d268 or ..."
The resulting command fails completely:
emacs: /usr/bin/notmuch: Argument list too long
Instead of running two searches like this, we can just surround the
whole query like this: "thread:{QUERY}". The manual says it's exactly
equivalent:
... the user should think of the query thread:{<something>} as
expanding to all of the thread IDs which match <something>; not‐
much then performs a second search using the expanded query.
This should be faster, too, with only running a single external command.
Here is the patch I'm thinking I'll apply, if anyone has comments.
--
Sean Whitton
[0001-Use-notmuch-thread-operator-instead-of-performing-tw.patch (text/x-diff, attachment)]
This bug report was last modified 3 years and 7 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.