bug-gnu-emacs
[Top][All Lists]
Advanced

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

bug#33005: 27.0.50; Data loss with Gnus registry


From: Eric Abrahamsen
Subject: bug#33005: 27.0.50; Data loss with Gnus registry
Date: Thu, 28 Nov 2019 08:43:29 +0000
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/27.0.50 (gnu/linux)

On 11/26/19 21:54 PM, Michael Heerdegen wrote:
> Eric Abrahamsen <eric@ericabrahamsen.net> writes:
>
>> I wonder, too, now that I look at the code. I will let you know in 15
>> hours, when I arrive in London :)

Okay, I mostly slept on the plane. But...

One missing piece of the puzzle: the Gnus startup process runs
`gnus-clear-system', which runs `gnus-shutdown', and the registry has a
shutdown routine that sets `gnus-registry-db' to nil. Starting up Gnus
essentially first shuts it down.

But that still doesn't completely explain why this works. Say a user
starts Gnus cold, and only loads gnus-registry.el via an autoloaded call
to `gnus-registry-initialize' in the init file. The shutdowns run before
the init file is loaded, meaning gnus-registry.el hasn't been loaded,
meaning it hasn't had a chance to add its registry-related shutdown yet.
So we should still be loading the registry with an already-initialized
`gnus-registry-db', and overwriting the user's existing data.

Obviously the code as it stands should be changed: either I should find
another way of preventing double loading, or the defvar shouldn't
initialize the database to anything (I prefer this latter). But it's
still a mystery to me...

Eric





reply via email to

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