[Top][All Lists]

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

Re: CHECK_STRUCTS/dmpstruct.h mechanism is broken.

From: Daniel Colascione
Subject: Re: CHECK_STRUCTS/dmpstruct.h mechanism is broken.
Date: Wed, 10 Apr 2019 11:47:12 -0700
User-agent: SquirrelMail/1.4.23 [SVN]

> Hello, Paul.
> On Tue, Apr 09, 2019 at 15:47:17 -0700, Paul Eggert wrote:
>> On 3/4/19 6:17 PM, Paul Eggert wrote:
>> > On 2/28/19 12:59 PM, Alan Mackenzie wrote:
>> >> is all this really needed?  Is pdumper.c really that fragile,
>> >> that it can't cope with changes in certain structs?
>> > No, it's not needed, and in my experience the mechanism's costs far
>> > exceed any benefit.
>> No further comment and the mechanism just bit me again, so I installed
>> the attached patch to disable it.
> Why?  Completely removing this mechanism seems very heavy handed.  All
> that was needed to disable it was a single line change to set
> CHECK_STRUCTS to zero.
> You would have got further comment if you'd proposed a patch, rather
> than just a vague idea that might or might not have been followed
> through.  Discussing the merits of a patch is always best done before
> committing it to master, not afterwards.
> What does Daniel say?

Please revert this removal. Without CHECK_STRUCTS, we *will* break dumped
Emacs in some subtle way sooner or later.

The only other safe option is to just codegen all the lisp.h structure
definitions from some higher-level description from which we can also
generate pdumper dumping code. If you want to do that, be my guest. Until
then, please restore CHECK_STRUCTS.

>> We can reenable it later if needed (which I hope won't happen....).
> Funnily enough, it was of use to me recently when it reminded me to
> amend dump_subr after extending struct subr.
> My main problem with this mechanism was the vagueness of the error
> messages it generated and of the comment in the code they pointed at,
> which wasted lots of time.  Those defects have since been fixed.

Thanks for improving that.

reply via email to

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