[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: |
Jose A. Ortega Ruiz |
Subject: |
Re: gnus-search-engine set to gnus-search-notmuch and refer threads |
Date: |
Wed, 22 Dec 2021 23:01:56 +0000 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/29.0.50 (gnu/linux) |
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 :)
hth,
jao
- 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