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: Sat, 15 Oct 2016 08:48:26 +0300 Message-ID: <83r37i2mdx.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> <8360owaj2s.fsf@gnu.org> <20161013092701.77461800@jabberwock.cb.piermont.com> Reply-To: Eli Zaretskii NNTP-Posting-Host: blaine.gmane.org X-Trace: blaine.gmane.org 1476510588 15909 195.159.176.226 (15 Oct 2016 05:49:48 GMT) X-Complaints-To: usenet@blaine.gmane.org NNTP-Posting-Date: Sat, 15 Oct 2016 05:49:48 +0000 (UTC) Cc: monnier@IRO.UMontreal.CA, emacs-devel@gnu.org To: rms@gnu.org Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Sat Oct 15 07:49:44 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 1bvHqV-0000nB-QA for ged-emacs-devel@m.gmane.org; Sat, 15 Oct 2016 07:49:23 +0200 Original-Received: from localhost ([::1]:50546 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bvHqU-0005s9-BA for ged-emacs-devel@m.gmane.org; Sat, 15 Oct 2016 01:49:22 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:55906) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bvHpw-0005rn-DQ for emacs-devel@gnu.org; Sat, 15 Oct 2016 01:48:49 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1bvHpq-00068K-BR for emacs-devel@gnu.org; Sat, 15 Oct 2016 01:48:47 -0400 Original-Received: from fencepost.gnu.org ([2001:4830:134:3::e]:40074) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bvHpq-00067o-8E; Sat, 15 Oct 2016 01:48:42 -0400 Original-Received: from 84.94.185.246.cable.012.net.il ([84.94.185.246]:3150 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_128_CBC_SHA1:128) (Exim 4.82) (envelope-from ) id 1bvHpe-0003Tt-K4; Sat, 15 Oct 2016 01:48:31 -0400 In-reply-to: (message from Richard Stallman on Fri, 14 Oct 2016 17:01:24 -0400) 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:208274 Archived-At: > From: Richard Stallman > Date: Fri, 14 Oct 2016 17:01:24 -0400 > Cc: emacs-devel@gnu.org > > It would not be necessary to allow two ordinary Lisp programs to run > in parallel. In other words, it would be ok if Emacs allowed only one > ordinary program at any time -- alongside any number of special > asynchronous programs. That's what the code on the "concurrency" branch of the Emacs repository does -- except that (1) it doesn't allow you to create special asynchronous programs at all, and (2) it is capable of switching to another ordinary Lisp program when the current one is waiting for something (e.g., keyboard input or subprocess output), or explicitly yields to another.