From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED.blaine.gmane.org!not-for-mail From: "Daniel Colascione" Newsgroups: gmane.emacs.devel Subject: Re: CHECK_STRUCTS/dmpstruct.h mechanism is broken. Date: Wed, 10 Apr 2019 11:47:12 -0700 Message-ID: References: <20190228202146.GC4686@ACM> <20190228205955.GD4686@ACM> <20190410162203.GA4009@ACM> Mime-Version: 1.0 Content-Type: text/plain;charset=iso-8859-1 Content-Transfer-Encoding: 8bit Injection-Info: blaine.gmane.org; posting-host="blaine.gmane.org:195.159.176.226"; logging-data="142019"; mail-complaints-to="usenet@blaine.gmane.org" User-Agent: SquirrelMail/1.4.23 [SVN] Cc: Paul Eggert , Daniel Colascione , emacs-devel@gnu.org To: "Alan Mackenzie" Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Wed Apr 10 20:47:38 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 1hEIG0-000ald-DR for ged-emacs-devel@m.gmane.org; Wed, 10 Apr 2019 20:47:37 +0200 Original-Received: from localhost ([127.0.0.1]:35903 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hEIFz-0004x4-Ed for ged-emacs-devel@m.gmane.org; Wed, 10 Apr 2019 14:47:35 -0400 Original-Received: from eggs.gnu.org ([209.51.188.92]:43364) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hEIFq-0004wx-Np for emacs-devel@gnu.org; Wed, 10 Apr 2019 14:47:27 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1hEIFp-00063Y-Mp for emacs-devel@gnu.org; Wed, 10 Apr 2019 14:47:26 -0400 Original-Received: from dancol.org ([2600:3c01::f03c:91ff:fedf:adf3]:37442) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1hEIFo-0005wP-Ov for emacs-devel@gnu.org; Wed, 10 Apr 2019 14:47:25 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=dancol.org; s=x; h=Content-Transfer-Encoding:Content-Type:MIME-Version:Cc:To:From:Subject:Date:References:In-Reply-To:Message-ID; bh=M9u7mp0GbVxVksiq3lf0cJm06kXSU4HOJUClAJe8EwM=; b=NPjojVNf0tNGhaxdWmeskzIF3KCcE6i9vgQq9zNu7DGx7m6gCueBmzBY2c/lknGBRC9/v5uwFJMqItRzAWYgI/GbzeT5dMS8OmYky6Tet261ktaX3PDIMt5Esxa5c5scp5NGDZ3rCXKgB32ZCKR0PaU0ZT3ZyyheuTdsqdMJag6QSOzGXE4cqdHXIh0JxBvYxZdkPrq11xN2NF2780wbvy/63bFZ52bMW9FLTsym5NxreUyTwbBQvXOTmOcIXWyoRF0bUmEheyf/3h1rbHtIbq1fZ7YsvImn8m7vk8C6HnBHnh8gapT0wNJIcf/S0l6hfC4urWuh/mTd/iA+HhYscw==; Original-Received: from localhost ([127.0.0.1] helo=dancol.org) by dancol.org with esmtp (Exim 4.84_2) (envelope-from ) id 1hEIFc-0005mJ-L3; Wed, 10 Apr 2019 11:47:12 -0700 Original-Received: from 127.0.0.1 (SquirrelMail authenticated user dancol) by dancol.org with HTTP; Wed, 10 Apr 2019 11:47:12 -0700 In-Reply-To: <20190410162203.GA4009@ACM> X-Priority: 3 (Normal) Importance: Normal X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2600:3c01::f03c:91ff:fedf:adf3 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:235238 Archived-At: > 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.