[Top][All Lists]

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

Re: Any way to control which articles Gnus summary shows by default?

From: Eric Abrahamsen
Subject: Re: Any way to control which articles Gnus summary shows by default?
Date: Sun, 08 Apr 2018 08:03:43 -0700
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/27.0.50 (gnu/linux)

On 04/08/18 16:17 PM, Michael Heerdegen wrote:
> Eric Abrahamsen <address@hidden> writes:
>> > Thanks for the hint. I was setting the cleaned values for the
>> > subtables, but not then re-setting the tables themselves: they were
>> > getting fixed, then thrown away. I can't believe how long this is
>> > taking to get right... I'll post to gnus.general again once I'm
>> > confident (ha) I've got it fixed.
>> Or maybe no, that's not what was happening.
> I'm not sure if that's not what is happening.
> AFAIU `eieio-persistent-read' reads the whole thing (database) at once.
> That function calls `eieio-persistent-convert-list-to-object' on the
> read value, which loops `eieio-persistent-validate/fix-slot-value' over
> the slot values.  The latter may only transform (quote SOMETHING) to
> SOMETHING but doesn't look inside SOMETHING so the whole cleanup thing
> isn't recursive.  But AFAIU the Gnus registry is recursive enough to be
> problematic in this regard.

Yes, the whole problem arose from the fact that the write/restore
process isn't recursive. In Emacs 26, the process needed to "look
deeper" inside the objects, and I thought that in doing that I'd been
careful to balance the write and restore process. Apparently I've still
failed to get it right -- though now I'm only seeing quote accumulation
in the secondary tables, not the main :data table.

> BTW, why does writing to a file involve adding quotes before a list at
> all?  The reader doesn't need the lists been quoted, so why do we add
> the quotes to the file just to remove them troublesomely after reading?

The whole process is ad hoc and largely unnecessary. In #29541 I've
started working on a more general solution that would be actually
recursive, and also not work so hard. I've had second thoughts about the
patch I posted there, but I think the general direction is correct.

Anyway, the real solution is just to re-write the whole system, though I
guess I'll need to fix this current bug, hopefully for a 26.X release.


reply via email to

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