GNU bug report logs - #56442
gnus-search-run-search: Hits notmuch command line length limits

Previous Next

Package: emacs;

Reported by: Sean Whitton <spwhitton <at> spwhitton.name>

Date: Thu, 7 Jul 2022 16:57:02 UTC

Severity: normal

Done: Sean Whitton <spwhitton <at> spwhitton.name>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: help-debbugs <at> gnu.org (GNU bug Tracking System)
To: Sean Whitton <spwhitton <at> spwhitton.name>
Subject: bug#56442: closed (Re: bug#56442: gnus-search-run-search: Hits
 notmuch command line length limits)
Date: Thu, 14 Jul 2022 18:51:02 +0000
[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)]
From: Sean Whitton <spwhitton <at> spwhitton.name>
To: 56442-done <at> debbugs.gnu.org, Eric Abrahamsen <eric <at> ericabrahamsen.net>
Subject: Re: bug#56442: gnus-search-run-search: Hits notmuch command line
 length limits
Date: Thu, 14 Jul 2022 11:50:13 -0700
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)]
From: Sean Whitton <spwhitton <at> spwhitton.name>
To: bug-gnu-emacs <at> gnu.org
Subject: gnus-search-run-search: Hits notmuch command line length limits
Date: Thu, 07 Jul 2022 09:56:05 -0700
[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.