emacs-devel
[Top][All Lists]
Advanced

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

Re: CHECK_STRUCTS/dmpstruct.h mechanism is broken.


From: Alan Mackenzie
Subject: Re: CHECK_STRUCTS/dmpstruct.h mechanism is broken.
Date: Thu, 28 Feb 2019 20:59:55 +0000
User-agent: Mutt/1.10.1 (2018-07-13)

Hello, Emacs.

On Thu, Feb 28, 2019 at 20:21:46 +0000, Alan Mackenzie wrote:
> The CHECK_STRUCT/dmpstruct.h mechanism is a very clever way of ensuring
> that Emacs cannot be built after amending certain structs, or even the
> comments within them.

> I have amended such a comment, thus cannot build my Emacs.

> This mechanism is broken, since it would appear to be entirely
> undocumented.  Or does this documentation exist, somewhere obscure?
> There is nothing about it in INSTALL.REPO, for example.

> For the sake of my sanity, will whoever it is please tell me what I have
> now to do to build my Emacs.  make bootstrap fails.  This is a bug; make
> bootstrap should _never_ fail.  I've done make dmpstruct.h.  Again to no
> avail.

OK, I've worked out what's to be done, and done it.  dmpstruct.h is a
file containing up to date hashes of structures.  The old hash in
pdumper.c needs to replaced by hand by the updated hash from
dmpstruct.h.  My Emacs now builds.

This is anything but clear from the comment at L71 in pdumper.c.  It
says "and update the hash..." without saying which hash, and without
saying how.  Which utility is needed to update this hash?  (Answer:
none).

> There's a file dmpstruct.awk involved in this, but it contains no
> instructions in its header comments; how is it meant to be called for
> example?  What else needs to be run to make it work, for another
> example?

> And what's it all for?  Why should make bootstrap be broken?  What's the
> point of all this?  Why are there no explanatory comments in the
> generated file dmpstruct.h?

Again, is all this really needed?  Is pdumper.c really that fragile,
that it can't cope with changes in certain structs?

> Help!

> -- 
> Alan Mackenzie (Nuremberg, Germany).



reply via email to

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