[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: gnus-search-engine set to gnus-search-notmuch and refer threads
From: |
Eric Abrahamsen |
Subject: |
Re: gnus-search-engine set to gnus-search-notmuch and refer threads |
Date: |
Wed, 22 Dec 2021 16:30:16 -0800 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/29.0.50 (gnu/linux) |
"Jose A. Ortega Ruiz" <jao@gnu.org> writes:
> On Wed, Dec 22 2021, Eric Abrahamsen wrote:
>
> [...]
>
>> My guess is that we need to go to point-min right here.
>>
>>> (while (re-search-forward "^thread:\\([^ ]+\\)" (point-max) t)
>>> (push (match-string 1) thread-ids))
>>> (cl-call-next-method
>>> engine server
>>> ;; Completely replace the query with our new thread-based one.
>>> (mapconcat (lambda (thrd) (concat "thread:" thrd))
>>> thread-ids " or ")
>>> nil)))
>>> (cl-call-next-method engine server query groups)))
>
> it's not enough. before that, there's a problem with invoking the
> search for threads, because notmuch is passed the flag --duplicate=1,
> and that's not accepted for format thread:
>
> Error: --duplicate=N is only supported with --output=files and
> --output=messages.
>
> funny thing is that that flag is added for no apparent reason in line
> 1633 of gnus-search.el:
>
> "--duplicate=1" ; I have found this necessary, I don't know why.
Hmm, I inherited this code, and didn't know why it was necessary either,
so I didn't take it out. I think notmuch can return multiple search
results if the same message exists in multiple folders, but since we're
filtering folders to begin with, maybe we don't need this.
> i don't know why either because searches seem to work without it :).
> if one eliminates that flag and adds your suggested (goto-char
> (point-min)) we are not out the woods yet: the thread id is read, but
> including an eol, so one needs
>
> (while (re-search-forward "^thread:\\([^\n ]+\\)" (point-max) t)
> ^^^^
Obviously I was hoping this would Just Work⢠without me having to
actually install notmuch and test it.
> and then, we still fail, because that leads, somehow to an error of the
> form:
>
> Debugger entered--Lisp error: (wrong-type-argument listp
> "thread:000000000001a830")
> alist-get(parsed-query "thread:000000000001a830")
> #f(compiled-function (engine query-spec) #<bytecode
> 0x1fd1b560df8c2360>)(#<gnus-search-notmuch gnus-search-notmuch-157d5a02af62>
> "thread:000000000001a830")
> apply(#f(compiled-function (engine query-spec) #<bytecode
> 0x1fd1b560df8c2360>) #<gnus-search-notmuch gnus-search-notmuch-157d5a02af62>
> "thread:000000000001a830")
> gnus-search-make-query-string(#<gnus-search-notmuch
> gnus-search-notmuch-157d5a02af62> "thread:000000000001a830")
>
> which indicates that the notmuch method for
> gnus-search-make-query-string is buggy: it doesn't know how to parse
> "thread:000000000001a830" queries... and here i ran out of steam, but
> the fix seems nearby :)
You have done heroic work, and I hope it may yet be unnecessary for me
to install and configure notmuch. Telling notmuch what to do with
"thread:xxx" queries is not difficult, and I should have a solution for
this in the next day or so.
Thanks for the extensive debugging,
Eric
- Re: gnus-search-engine set to gnus-search-notmuch and refer threads, dal-blazej, 2021/12/14
- Re: gnus-search-engine set to gnus-search-notmuch and refer threads, Eric Abrahamsen, 2021/12/15
- Re: gnus-search-engine set to gnus-search-notmuch and refer threads, Andrew Cohen, 2021/12/21
- Re: gnus-search-engine set to gnus-search-notmuch and refer threads, Jose A. Ortega Ruiz, 2021/12/22
- Re: gnus-search-engine set to gnus-search-notmuch and refer threads, Eric Abrahamsen, 2021/12/23
- Re: gnus-search-engine set to gnus-search-notmuch and refer threads, Jose A. Ortega Ruiz, 2021/12/23
- Re: gnus-search-engine set to gnus-search-notmuch and refer threads, Jose A. Ortega Ruiz, 2021/12/27
- Re: gnus-search-engine set to gnus-search-notmuch and refer threads, Eric Abrahamsen, 2021/12/30
- Re: gnus-search-engine set to gnus-search-notmuch and refer threads, Andrew Cohen, 2021/12/30
- Re: gnus-search-engine set to gnus-search-notmuch and refer threads, Eric Abrahamsen, 2021/12/30
- Re: gnus-search-engine set to gnus-search-notmuch and refer threads, Andrew Cohen, 2021/12/30
- Re: gnus-search-engine set to gnus-search-notmuch and refer threads, Eric Abrahamsen, 2021/12/30
- Re: gnus-search-engine set to gnus-search-notmuch and refer threads, Jose A. Ortega Ruiz, 2021/12/30