From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED!not-for-mail From: Eli Zaretskii Newsgroups: gmane.emacs.devel Subject: Re: Concurrency, again Date: Thu, 13 Oct 2016 08:55:55 +0300 Message-ID: <8360owaj2s.fsf@gnu.org> References: <87wq97i78i.fsf@earlgrey.lan> <86k2dk77w6.fsf@molnjunk.nocrew.org> <9D64B8EA-DB52-413D-AE6A-264416C391F3@iotcl.com> <83int1g0s5.fsf@gnu.org> <83twckekqq.fsf@gnu.org> <83mvi9a3mh.fsf@gnu.org> <20161012165911.58437154@jabberwock.cb.piermont.com> <20161012173314.799d1dc5@jabberwock.cb.piermont.com> Reply-To: Eli Zaretskii NNTP-Posting-Host: blaine.gmane.org X-Trace: blaine.gmane.org 1476338205 13568 195.159.176.226 (13 Oct 2016 05:56:45 GMT) X-Complaints-To: usenet@blaine.gmane.org NNTP-Posting-Date: Thu, 13 Oct 2016 05:56:45 +0000 (UTC) Cc: fiskomaten@gmail.com, monnier@iro.umontreal.ca, emacs-devel@gnu.org To: "Perry E. Metzger" Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Thu Oct 13 07:56:40 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 1buZ06-0008TA-53 for ged-emacs-devel@m.gmane.org; Thu, 13 Oct 2016 07:56:18 +0200 Original-Received: from localhost ([::1]:37741 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1buZ04-0007B5-KD for ged-emacs-devel@m.gmane.org; Thu, 13 Oct 2016 01:56:16 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:44183) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1buYzy-0007Aw-7O for emacs-devel@gnu.org; Thu, 13 Oct 2016 01:56:11 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1buYzv-0006Cz-2I for emacs-devel@gnu.org; Thu, 13 Oct 2016 01:56:10 -0400 Original-Received: from fencepost.gnu.org ([2001:4830:134:3::e]:43011) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1buYzu-0006Cl-Ul; Thu, 13 Oct 2016 01:56:06 -0400 Original-Received: from 84.94.185.246.cable.012.net.il ([84.94.185.246]:3949 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_128_CBC_SHA1:128) (Exim 4.82) (envelope-from ) id 1buYzs-0000Z6-SS; Thu, 13 Oct 2016 01:56:05 -0400 In-reply-to: <20161012173314.799d1dc5@jabberwock.cb.piermont.com> (perry@piermont.com) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 2001:4830:134:3::e 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:208199 Archived-At: > Date: Wed, 12 Oct 2016 17:33:14 -0400 > From: "Perry E. Metzger" > Cc: Eli Zaretskii , Stefan Monnier , > emacs-devel@gnu.org > > > The thing is all current code expects to be able to access any > > buffer they like without interferrence from other code. > > So to make this new model work we would need to support both > > paradigms. If any "old-style" code started execution, by being > > called by a function or from a timer, then the entire world would > > have to halt so the old-style code could execute with its > > assumption of sequential access. > > Well, the code expects to *access* buffers, but it doesn't expect to > interact with other executing code. That's not accurate, since all kinds of hooks triggered by buffer access could execute code that accesses other buffers and changes their contents. > Concurrency is a giant tarpit of subtleties. :( And Emacs is another giant tarpit.