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: Wed, 10 Oct 2018 16:05:50 -0700
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/27.0.50 (gnu/linux)

On 10/10/18 23:24 PM, Michael Heerdegen wrote:
> Eric Abrahamsen <eric@ericabrahamsen.net> writes:
>
>> (registry-collect-prune-candidates gnus-registry-db
>> (registry-size gnus-registry-db) nil)
>
> Ok, I managed to debug this.
>
> The entry is indeed pruned.  It looks like
>
> Key:  "<153...>"
>
> Value: ((mark Important) (subject ...) ...)
>
> In the `registry-collect-prune-candidates' method, the variable PRECIOUS
> is bound to the list (gnorb-ids org-tags mark).
>
> AFAIU, since PRECIOUS-P is defined as
>
>   (lambda (entry-key) (cdr (memq (car-safe entry-key) precious)))
>
> and the symbol mark comes last in the PRECIOUS list, the `cdr' of the
> `memq' call is nil.  If I remove the `cdr' call, the entry isn't pruned
> any more.  I also don't get why that `cdr' is there.  Or is my value of
> PRECIOUS illegal?

Nice work! I have no idea why that `cdr' is in there, and as the value
is used as a boolean it seems totally superfluous. I don't use registry
marks, which is probably the reason I never noticed (I didn't write this
code).

I don't see any reason not to remove the `cdr', and will do so unless
someone objects cogently, soon.

Thanks,
Eric





reply via email to

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