Subject: bug#36765: 27.0.50; gnus-group-split-setup should delay until Gnus has finished starting up

From: Eric Abrahamsen <[email-masked]>
Date: Mon, 22 Jul 2019 11:22:53 -0700

The Gnus manual instructs users to put a call to
`gnus-group-split-setup' in their gnus.el file if they want to skip over
some tedious manual configuration.

The problem with this is that the function has:

  (gnus-group-split-update)
  (when auto-update
    (add-hook 'nnmail-pre-get-new-mail-hook 'gnus-group-split-update))

Meaning that `gnus-group-split-update' is called immediately when this
function is run, which happens before Gnus is done starting up.
split-update calls `gnus-group-split-fancy' which ends up accessing
group parameters on all Gnus groups. Parameter access only works when
gnus-newsrc-hashtb is already initialized. When the hashtb was an
obarray, this process was a silent no-op. Now that they're hashtables,
it signals a type error.

I think a simple solution would be to change the above to:

(add-hook (if auto-update
	      'nnmail-pre-get-new-mail-hook
	    'gnus-started-hook)
	  'gnus-group-split-update)

Ie, if auto-update isn't passed, only run the update once, at start time.