Subject: Re: bug#36341: 27.0.50; Reading from the Gnus dribble file leaves data inconsistent

From: Lars Ingebrigtsen <[email-masked]>
Date: Mon, 08 Jul 2019 18:22:12 +0200

Eric Abrahamsen <[email-masked]> writes:

> I think `gnus-group-set-info' is the only place that happens, so it
> isn't too terrible to just explicitly set both hashtable and alist in
> that function. I've attached the commit that does that.

Sounds good -- please apply.

> My plan for avoiding this class of errors in the future is to change the
> representation of Gnus groups from lists to EIEIO objects. Then
> `gnus-newsrc-alist' would merely be a disk serialization format, and the
> hashtable would be the source of authority. That would also make the
> "dummy.group" unnecessary. But let's see if I get there, and if the
> changes are accepted...

The whole point of that awkward structure is to allow
inserting/removing/updating groups from the list-of-subscribed-groups as
an O(1) operation.  Updating is still fine as O(1) with just a hash
table, but without the point-at-the-previous-element list, you can't
remove the elements, or add new elements before the group, as an O(1)
thing.

-- 
(domestic pets only, the antidote for overdose, milk.)
   bloggy blog: http://lars.ingebrigtsen.no