Subject: bug#32081: 26.1; gnus-parameter-large-newsgroup-initial-alist ignored?

From: Adam Porter <[email-masked]>
Date: Sat, 7 Jul 2018 06:56:03 -0500

[I reported this on the [email-masked] list on June 14, but from looking
at the nntp://news.gnus.org/gnus.gnus-bug group, it has received no reply,
while other bugs reported apparently via report-emacs-bug have been
noticed, so I'm reporting it that way now.]

Hi,

For a long time I have wanted to stop Gnus from asking me how many
messages to select when I read a newsgroup, e.g. when I'm reading
gmane.emacs.orgmode, there are over 11000 unread messages, and having
to always type in a number when I want to read recent postings is
tiresome.

A long time ago I tried to figure it out, but gave up.  Today I tried again.

First, I discovered gnus-parameter-large-newsgroup-initial-alist and
tried adding a regexp of ".*" with a number, but it had no effect.

Then, reading through source code, I discovered gnus-group-customize,
and how it apparently has its own customization interface.  So I
called that function with point on that newsgroup, clicked the
checkbox, set it to a number, and clicked done.  But it also had no
effect.

Then I used edebug to follow the execution of gnus-articles-to-read.
Finally I found what seems to be a bug, where the value of the
"default" variable is set:

#+BEGIN_SRC elisp
  (default (if only-read-p
               (or initial gnus-large-newsgroup)
             number))
#+END_SRC

only-read-p is set to nil because 1) read-all is not set, and 2) there
*are* unread articles (as there almost always are).  So "default" is
set to "number", which is the number of articles in the newsgroup.

Therefore, unless the user is intentionally showing all articles, or
there are no unread articles in the group, the setting in
gnus-parameter-large-newsgroup-initial-alist is ignored, and initial
prompt value is the number of total articles in the group (or the
number of unread articles, I'm not sure which).

Changing that code to:

#+BEGIN_SRC elisp
  (default (or initial gnus-large-newsgroup number)
#+END_SRC

seems to fix the problem.  I'm not sure if "number" should be included.

I guess this is a bug, since the user's setting is ignored any time
there are unread articles and the user isn't loading all of them, but
it seems strange that no one has noticed until now...

Thanks.