From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Eli Zaretskii Newsgroups: gmane.emacs.devel Subject: Re: build broken: no defun org-float-time. Who's guilty, and what does he propose? Date: Tue, 08 Sep 2009 20:51:38 +0300 Message-ID: <83iqft2ul1.fsf@gnu.org> References: <20090907092823.GA3210@muc.de> <83ws4a3b49.fsf@gnu.org> <0C7A6FC6-085D-4B7F-9DC0-FF0493876153@raeburn.org> <83tyze34fd.fsf@gnu.org> Reply-To: Eli Zaretskii NNTP-Posting-Host: lo.gmane.org X-Trace: ger.gmane.org 1252432439 3995 80.91.229.12 (8 Sep 2009 17:53:59 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Tue, 8 Sep 2009 17:53:59 +0000 (UTC) Cc: acm@muc.de, raeburn@raeburn.org, joakim@verona.se, jan.h.d@swipnet.se, emacs-devel@gnu.org To: Stefan Monnier Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Tue Sep 08 19:53:51 2009 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([199.232.76.165]) by lo.gmane.org with esmtp (Exim 4.50) id 1Ml4sx-000594-SI for ged-emacs-devel@m.gmane.org; Tue, 08 Sep 2009 19:53:44 +0200 Original-Received: from localhost ([127.0.0.1]:52126 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1Ml4sx-00016V-Bt for ged-emacs-devel@m.gmane.org; Tue, 08 Sep 2009 13:53:43 -0400 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1Ml4ss-00015T-20 for emacs-devel@gnu.org; Tue, 08 Sep 2009 13:53:38 -0400 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1Ml4sq-00013v-9E for emacs-devel@gnu.org; Tue, 08 Sep 2009 13:53:36 -0400 Original-Received: from [199.232.76.173] (port=59123 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1Ml4sq-00013s-4J for emacs-devel@gnu.org; Tue, 08 Sep 2009 13:53:36 -0400 Original-Received: from mtaout4.012.net.il ([84.95.2.10]:30667 helo=mtaout3.012.net.il) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1Ml4sp-0006Hi-Jt for emacs-devel@gnu.org; Tue, 08 Sep 2009 13:53:35 -0400 Original-Received: from conversion-daemon.i_mtaout3.012.net.il by i_mtaout3.012.net.il (HyperSendmail v2004.12) id <0KPN00200XDA9R00@i_mtaout3.012.net.il> for emacs-devel@gnu.org; Tue, 08 Sep 2009 20:53:33 +0300 (IDT) Original-Received: from HOME-C4E4A596F7 ([84.228.50.163]) by i_mtaout3.012.net.il (HyperSendmail v2004.12) with ESMTPA id <0KPN006OMZ18VQS0@i_mtaout3.012.net.il>; Tue, 08 Sep 2009 20:53:33 +0300 (IDT) In-reply-to: X-012-Sender: halo1@inter.net.il X-detected-operating-system: by monty-python.gnu.org: Solaris 9.1 X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:115145 Archived-At: > From: Stefan Monnier > Cc: Ken Raeburn , acm@muc.de, jan.h.d@swipnet.se, > joakim@verona.se, emacs-devel@gnu.org > Date: Tue, 08 Sep 2009 13:01:21 -0400 > > Note that a basic hypothesis here, is that "make bootstrap" is not > a good solution, so any solution that ends recompiling similar amounts > of code is not good either. But if you look in detail, you'll see that > only bootstrap does it really right: the byte-compiler is > a prerequisitie of all elc files, and the byte-compiler itself uses > potentially any code in loadup.el (and then some), so any change to > a preloaded file should fundamentally require recompiling all > Lisp files. I don't think this is quite that bad. There's a similar issue in many GNU packages with config.h files produced by a configure script, and the solution there is to output the new version into a temporary file and use move-if-change to replace the original file. We could do the same with bytecomp.elc, and that would solve the above problem. > When byte-compiling elc files with a preexisting emacs-bootstrap > binary, re-load all the files that were preloaded but that have been > changed since building emacs-bootstrap, before doing the actual > recompilation (i.e. when starting emacs-bootstrap, check the > load-history to see if any of those files have changed and reload them > if needed). Sounds like a good plan to me.