info-gnus-english
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: nnimap-split-download-body removed?


From: Eric Abrahamsen
Subject: Re: nnimap-split-download-body removed?
Date: Mon, 30 Nov 2020 19:35:47 -0800
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux)

Bodertz <bodertz@gmail.com> writes:

> Eric Abrahamsen <eric@ericabrahamsen.net> writes:
>
>> The problem with checking the headers or the message size before
>> downloading the body is that you're then issuing one FETCH to get all
>> the messages without their bodies, and then issuing another to get the
>> bodies you want, likely just the same list as before.
>
> It may not be worth doing, but I challenge your assumption that they
> would be the same list.  For my case at least, the list of messages
> which I want split based on the body is a small subset of the list of
> new messages I receive.  When I imagine other uses of splitting based on
> the body, they are only cases where splitting on other matches such as
> from or subject wasn't enough, and that would still be a small subset of
> new messages.  Most messages can be split with just the headers.

Well, fair enough. I suppose it would also be one of those things where
we just warned the users it might be slow, and they could decide for
themselves.

>> That seems like it would end up being pretty inefficient, and I wouldn't
>> be surprised if it turned out that we had to issue one FETCH per message
>> we wanted the body for. I'll admit I haven't looked at this part of the
>> code closely, but...
>
> Since `nnimap-fetch-inbox' accepts a list of articles, I don't see why
> we couldn't feed the list of new articles to it with either "[HEADER]"
> or "[1]" based on the result of `(nnimap-ver4-p)', and then build a new
> list of articles which meet some criteria and send that to
> `nnimap-fetch-inbox' with "[]".  But I don't actually understand the
> code, so I'm sure things are more complicated than that.

Continuing our baseless speculation without looking at the code... I
wonder if it would be even possible to do this: it would require either
running splitting twice (once to split simpler messages, and return a
list of messages that needed further downloading and re-splitting), or
pausing in the middle of splitting to download messages.

Anyway, let me send in a bug report for the simpler change. I'll mention
your other request, and see if anyone else has a point of view.

Eric




reply via email to

[Prev in Thread] Current Thread [Next in Thread]