From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED.blaine.gmane.org!not-for-mail From: Alan Mackenzie Newsgroups: gmane.emacs.devel Subject: Re: CHECK_STRUCTS/dmpstruct.h mechanism is broken. Date: Thu, 28 Feb 2019 20:59:55 +0000 Message-ID: <20190228205955.GD4686@ACM> References: <20190228202146.GC4686@ACM> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Injection-Info: blaine.gmane.org; posting-host="blaine.gmane.org:195.159.176.226"; logging-data="34038"; mail-complaints-to="usenet@blaine.gmane.org" User-Agent: Mutt/1.10.1 (2018-07-13) To: emacs-devel@gnu.org Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Thu Feb 28 22:05:54 2019 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([209.51.188.17]) by blaine.gmane.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:256) (Exim 4.89) (envelope-from ) id 1gzSsM-0008j4-4Y for ged-emacs-devel@m.gmane.org; Thu, 28 Feb 2019 22:05:54 +0100 Original-Received: from localhost ([127.0.0.1]:46513 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gzSsL-0002kF-5U for ged-emacs-devel@m.gmane.org; Thu, 28 Feb 2019 16:05:53 -0500 Original-Received: from eggs.gnu.org ([209.51.188.92]:54190) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gzSrb-0002jt-Ce for emacs-devel@gnu.org; Thu, 28 Feb 2019 16:05:08 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1gzSra-0000gM-Ep for emacs-devel@gnu.org; Thu, 28 Feb 2019 16:05:07 -0500 Original-Received: from colin.muc.de ([193.149.48.1]:61147 helo=mail.muc.de) by eggs.gnu.org with smtp (Exim 4.71) (envelope-from ) id 1gzSrZ-0000Yy-T2 for emacs-devel@gnu.org; Thu, 28 Feb 2019 16:05:06 -0500 Original-Received: (qmail 58164 invoked by uid 3782); 28 Feb 2019 21:04:50 -0000 Original-Received: from acm.muc.de (p4FE15DA7.dip0.t-ipconnect.de [79.225.93.167]) by colin.muc.de (tmda-ofmipd) with ESMTP; Thu, 28 Feb 2019 22:04:49 +0100 Original-Received: (qmail 31933 invoked by uid 1000); 28 Feb 2019 20:59:55 -0000 Content-Disposition: inline In-Reply-To: <20190228202146.GC4686@ACM> X-Delivery-Agent: TMDA/1.1.12 (Macallan) X-Primary-Address: acm@muc.de X-detected-operating-system: by eggs.gnu.org: FreeBSD 9.x [fuzzy] X-Received-From: 193.149.48.1 X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Original-Sender: "Emacs-devel" Xref: news.gmane.org gmane.emacs.devel:233711 Archived-At: 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).