From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED!not-for-mail From: Paul Eggert Newsgroups: gmane.emacs.devel Subject: Re: When should ralloc.c be used? (WAS: bug#24358) Date: Thu, 27 Oct 2016 15:34:23 -0700 Organization: UCLA Computer Science Department Message-ID: <9dca4b78-b142-2bae-4401-3f1ed74598b3@cs.ucla.edu> References: <87twe6sx2g.fsf@users.sourceforge.net> <87eg51ng4r.fsf_-_@users.sourceforge.net> <87k2djwumn.fsf@users.sourceforge.net> <83h98nidvd.fsf@gnu.org> <87eg3rvtsf.fsf@users.sourceforge.net> <83k2dihpm9.fsf@gnu.org> <8760p2wzgj.fsf@users.sourceforge.net> <838ttyhhzu.fsf@gnu.org> <871szqwu51.fsf@users.sourceforge.net> <831szqhbc2.fsf@gnu.org> <87d1itt79z.fsf_-_@users.sourceforge.net> <7baa18d4-2b09-caa8-005e-29008a383ad1@cs.ucla.edu> <83mvhwrgd5.fsf@gnu.org> <8539f38f-9a11-44c3-4de7-bb974c96206c@cs.ucla.edu> <83d1iq5ib1.fsf@gnu.org> <83r3753c8j.fsf@gnu.org> <83r374wh32.fsf@gnu.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 1477607704 22927 195.159.176.226 (27 Oct 2016 22:35:04 GMT) X-Complaints-To: usenet@blaine.gmane.org NNTP-Posting-Date: Thu, 27 Oct 2016 22:35:04 +0000 (UTC) User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.4.0 Cc: emacs-devel@gnu.org To: rms@gnu.org Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Fri Oct 28 00:35:00 2016 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 1bztFs-0002SJ-Ur for ged-emacs-devel@m.gmane.org; Fri, 28 Oct 2016 00:34:37 +0200 Original-Received: from localhost ([::1]:44908 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bztFv-0006CU-7d for ged-emacs-devel@m.gmane.org; Thu, 27 Oct 2016 18:34:39 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:51063) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bztFm-0006BJ-RC for emacs-devel@gnu.org; Thu, 27 Oct 2016 18:34:31 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1bztFh-0002tK-Su for emacs-devel@gnu.org; Thu, 27 Oct 2016 18:34:30 -0400 Original-Received: from zimbra.cs.ucla.edu ([131.179.128.68]:55920) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1bztFh-0002ss-MS; Thu, 27 Oct 2016 18:34:25 -0400 Original-Received: from localhost (localhost [127.0.0.1]) by zimbra.cs.ucla.edu (Postfix) with ESMTP id 65DE51610E0; Thu, 27 Oct 2016 15:34:24 -0700 (PDT) Original-Received: from zimbra.cs.ucla.edu ([127.0.0.1]) by localhost (zimbra.cs.ucla.edu [127.0.0.1]) (amavisd-new, port 10032) with ESMTP id QgD7HyQGNFlS; Thu, 27 Oct 2016 15:34:23 -0700 (PDT) Original-Received: from localhost (localhost [127.0.0.1]) by zimbra.cs.ucla.edu (Postfix) with ESMTP id ACFC5161104; Thu, 27 Oct 2016 15:34:23 -0700 (PDT) X-Virus-Scanned: amavisd-new at zimbra.cs.ucla.edu Original-Received: from zimbra.cs.ucla.edu ([127.0.0.1]) by localhost (zimbra.cs.ucla.edu [127.0.0.1]) (amavisd-new, port 10026) with ESMTP id K2HthPPDJsza; Thu, 27 Oct 2016 15:34:23 -0700 (PDT) Original-Received: from Penguin.CS.UCLA.EDU (Penguin.CS.UCLA.EDU [131.179.64.200]) by zimbra.cs.ucla.edu (Postfix) with ESMTPSA id 9144E1610E0; Thu, 27 Oct 2016 15:34:23 -0700 (PDT) In-Reply-To: X-detected-operating-system: by eggs.gnu.org: GNU/Linux 3.x X-Received-From: 131.179.128.68 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:208900 Archived-At: On 10/27/2016 01:40 PM, Richard Stallman wrote: > Any such scheme has this problem: > how to find all the places where initialization has stored some sort > of value? They do not all have ways to access them and set them from Lisp. My impression is that most such initializations are so small and fast that we needn't worry about saving and restoring their state. We can simply redo the initialization when Emacs starts up again - this will be the default behavior if we leave the temacs initialization code alone, which means we'd get this for very little maintenance effort. Any counterexamples we can handle specially, by saving and restoring their state by hand (so to speak). Something along the lines of your idea for storage creation should work, though we'll have to be careful about destructive operations like setcar that can cause an object with an earlier sequence number to point to an object with a later sequence number. It's not clear whether it has significant advantages over the C-based approach.