From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED!not-for-mail From: Daniel Colascione Newsgroups: gmane.emacs.devel Subject: Re: Preview: portable dumper Date: Thu, 15 Feb 2018 18:25:38 -0800 Message-ID: <96e4b0da-4cc3-859f-7088-e483556be69f@dancol.org> References: <20180215224653.GA36004@breton.holly.idiocy.org> NNTP-Posting-Host: blaine.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit X-Trace: blaine.gmane.org 1518747844 19647 195.159.176.226 (16 Feb 2018 02:24:04 GMT) X-Complaints-To: usenet@blaine.gmane.org NNTP-Posting-Date: Fri, 16 Feb 2018 02:24:04 +0000 (UTC) User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.5.0 To: Stefan Monnier , emacs-devel@gnu.org Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Fri Feb 16 03:24:00 2018 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by blaine.gmane.org with esmtp (Exim 4.84_2) (envelope-from ) id 1emVgl-00048m-Jq for ged-emacs-devel@m.gmane.org; Fri, 16 Feb 2018 03:23:51 +0100 Original-Received: from localhost ([::1]:56903 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1emVil-0002nI-Qw for ged-emacs-devel@m.gmane.org; Thu, 15 Feb 2018 21:25:55 -0500 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:59735) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1emVie-0002mV-Vw for emacs-devel@gnu.org; Thu, 15 Feb 2018 21:25:49 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1emVie-0001Du-3a for emacs-devel@gnu.org; Thu, 15 Feb 2018 21:25:48 -0500 Original-Received: from dancol.org ([2600:3c01::f03c:91ff:fedf:adf3]:60092) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1emVid-0001De-PC for emacs-devel@gnu.org; Thu, 15 Feb 2018 21:25:48 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=dancol.org; s=x; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:MIME-Version:Date:Message-ID:From:References:To:Subject; bh=QZ2PSEsi5iYktSJ4PVQ/xiSYs4tOeFJFScXyOJhd9a4=; b=MUMR309+sYqjvlMIpGrJ1lxnT90itEkeE8SzXNq8BtLQyLo0HSg/5N3cJiTUkafk8Q73doZsmah0G0JaEVuV+pGJ26lGGEWY528ya5nUHKFye9ZLxd6jgVMFEjTAD/Sc+9Tp+VhzDVe50OgzOR39W04mSqeNVukZuZ0vD47VUJV45r35334nvP6CVV3oIh+woUT5zKVPsxoCydpkFIaPK92shrBgm9i4r4b7n7C82OmTnKvin3z9i+jPS4nJft0dtC6mrwoLuSoAE1jtZPGJZnTV9gwYKKrvt1qCxaPribHzz/lUKHJUMgGBswDa+ideX9c88CYC9qg0AcncR40HEA==; Original-Received: from [2604:4080:1321:8ab0:6c92:eaf:37c:f4ca] by dancol.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.84_2) (envelope-from ) id 1emVia-0003e5-Se; Thu, 15 Feb 2018 18:25:44 -0800 In-Reply-To: Content-Language: en-US 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:222799 Archived-At: On 02/15/2018 05:54 PM, Stefan Monnier wrote: >> I do wonder whether it makes sense to try to copy the dump into the >> Emacs executable itself instead of leaving it as a separate file. > > We could try, but: > - it adds complexity and maybe system-dependent hacks. Not if we just tack onto the end. > - it closes the opportunity to have several dump files for a single > executable (I was thinking we could try and let end-users build their > own dump file). Not necessarily. Suppose we go with the append-to-the-executable option. Then, to "re-dump" emacs, we'd open the current executable, copy it to a temporary file, back up to the start of the dump, ftruncate. Now we've recovered temacs and we can go through normal loadup and dump. Maybe we can even automatically detect changes to any file in load-history and perform this procedure automatically on startup.