Subject: Re: bug#48801: 28.0.50; [PATCH] Feature suggestion gnus-retrieve-headers check for nov-is-evil when agent is enabled

From: Alex Bochannek <[email-masked]>
Date: Fri, 04 Jun 2021 10:40:53 -0700

Lars Ingebrigtsen <[email-masked]> writes:

> Alex Bochannek <[email-masked]> writes:
>
>> Is there any documentation you would like to see before accepting this
>> change?
>
> I don't think the patch is the right thing to do:

I did mention in my initial email that this wasn't fully cooked and I am
happy to accept alternatives :)

> So you're basically disabling the Agent when gnus-nov-is-evil is set,
> and while it solves this problem, it's not a good general solution --
> the two things are kinda-sort orthogonal.  Instead you should just
> exclude the nnvirtual component groups from the Agent.

What I am trying to achieve is:

- Allow limiting and scoring by newsgroup name in an nnvirtual group
- Still use caching and agent mode for the nnvirtual and constituent
  groups

For the second part I simply set `gnus-agent-cache' to non-nil and add
the constituent groups to the agent. I didn't see a need to add the
virtual group to the agent, because as long as all constituent groups
are, I still get caching and agent mode.

If I use a hook on the nnvirtual group to set nov-is-evil, the
constituent groups end up with the extra headers in their .overview
file. That seems to address both points above, except that if I open the
constituent groups directly, I don't get that information. I tried to
set nov-is-evil as a group parameter for the constituent groups, but
that doesn't work when they are in an agent category and was the reason
for the below code.

> +	   (not (symbol-value
> +		 (intern
> +		  (format "%s-nov-is-evil" (car gnus-command-method))))))
>
> (And this isn't correct anyway -- not all backends have a -nov-is-evil
> variable).

I noticed that and ended up defining a nnvirtual-nov-is-evil, but it
never made it to this clause because of my specific setup.

P.S.: Is there a better place to discuss this? gmane.emacs.gnus.general?

-- 
Alex.