From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED!not-for-mail From: Alan Mackenzie Newsgroups: gmane.emacs.devel Subject: Re: Emacs 26.1 release branch created Date: Wed, 27 Sep 2017 18:43:25 +0000 Message-ID: <20170927184325.GA4653@ACM> References: <20170925190357.GA4651@ACM> <855b1231-2279-4fd7-a2d6-be65435bb8be@default> <20170926202648.GB5190@ACM> NNTP-Posting-Host: blaine.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: blaine.gmane.org 1506538304 4099 195.159.176.226 (27 Sep 2017 18:51:44 GMT) X-Complaints-To: usenet@blaine.gmane.org NNTP-Posting-Date: Wed, 27 Sep 2017 18:51:44 +0000 (UTC) User-Agent: Mutt/1.7.2 (2016-11-26) Cc: Philipp Stephani , Drew Adams , Emacs developers To: Philippe Vaucher Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Wed Sep 27 20:51:40 2017 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 1dxHQn-0000XV-AO for ged-emacs-devel@m.gmane.org; Wed, 27 Sep 2017 20:51:37 +0200 Original-Received: from localhost ([::1]:55953 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dxHQu-0007HW-M6 for ged-emacs-devel@m.gmane.org; Wed, 27 Sep 2017 14:51:44 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:57366) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dxHQk-0007GQ-N1 for emacs-devel@gnu.org; Wed, 27 Sep 2017 14:51:35 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1dxHQg-0003Qh-QW for emacs-devel@gnu.org; Wed, 27 Sep 2017 14:51:34 -0400 Original-Received: from ocolin.muc.de ([193.149.48.4]:13045 helo=mail.muc.de) by eggs.gnu.org with smtp (Exim 4.71) (envelope-from ) id 1dxHQg-0003QX-JX for emacs-devel@gnu.org; Wed, 27 Sep 2017 14:51:30 -0400 Original-Received: (qmail 99604 invoked by uid 3782); 27 Sep 2017 18:51:28 -0000 Original-Received: from acm.muc.de (p548C69B5.dip0.t-ipconnect.de [84.140.105.181]) by colin.muc.de (tmda-ofmipd) with ESMTP; Wed, 27 Sep 2017 20:51:27 +0200 Original-Received: (qmail 4800 invoked by uid 1000); 27 Sep 2017 18:43:25 -0000 Content-Disposition: inline In-Reply-To: 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.4 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:218830 Archived-At: Hello, Philippe. On Wed, Sep 27, 2017 at 13:54:29 +0200, Philippe Vaucher wrote: > > > Early Lisps had only dynamic binding because people didn't know better. > > But > > > now we know that global mutable state is almost always undesirable and > > > avoid id wherever we can. > > But my buffers are global mutable states. The whole world is a global > > mutable state. Literally. How can we model them without such things in > > our languages? Why would we want to? > I think this is the wrong way to approach this. What counts here are the > benefits: by avoiding global mutable state we make code that is easier to > reason about, easier to test, etc. What about the costs? Emacs has a large state, including variable numbers of buffers, variable variables (libraries can be loaded at any time), variable properties and text properties, .... What you're asserting, I think, is that there is a better way to house this state rather than "globally". No details of this other way have been forthcoming. > There is simply no real argument for using global mutable state when we can > avoid it, ..... I suspect that in Emacs we can't. Or if we could, it would be at too great a cost. > .... except for somewhat weak arguments like "it's convenient" or > "it'd require too much refactoring". They're weak arguments? I'd like to hear what might be considered strong ones! > Philippe -- Alan Mackenzie (Nuremberg, Germany).