[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: |
Thu, 23 Dec 2021 12:55:55 -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.
>
> 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)
> ^^^^
>
> 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 :)
Here's what I've got so far, would you try it out? I'm not sure about
notmuch not knowing how to parse a "thread:000000000001a830" query, it
looks like it handles it fine to me:
(let* ((engine (make-instance 'gnus-search-notmuch))
(query "thread:23434223455")
(parsed-query (gnus-search-parse-query query)))
(gnus-search-make-query-string engine `((query ,query)
(parsed-query . ,parsed-query))))
=> "thread:23434223455"
Am I misunderstanding something?
notmuchthreads.diff
Description: Text Data
- 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/22
- Re: gnus-search-engine set to gnus-search-notmuch and refer threads, Eric Abrahamsen, 2021/12/22
- 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/22
- 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,
Eric Abrahamsen <=
- 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
- Re: gnus-search-engine set to gnus-search-notmuch and refer threads, jao, 2021/12/30