From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Richard M Stallman Newsgroups: gmane.emacs.devel Subject: Re: Very interesting analysis of "the state of Emacs" Date: Sun, 04 May 2008 05:37:53 -0400 Message-ID: References: <481693C3.70901@emf.net> <4816CDB6.6000006@pajato.com> <4817D79F.8040508@gmail.com> <874p9jhsa7.fsf@localhorst.mine.nu> <87bq3qodp4.fsf@bar.jrock.us> <87od7qikyc.fsf@catnip.gol.com> Reply-To: rms@gnu.org NNTP-Posting-Host: lo.gmane.org Content-Type: text/plain; charset=ISO-8859-15 X-Trace: ger.gmane.org 1209894054 30620 80.91.229.12 (4 May 2008 09:40:54 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Sun, 4 May 2008 09:40:54 +0000 (UTC) Cc: emacs-devel@gnu.org, jon@jrock.us, miles@gnu.org To: Stefan Monnier Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Sun May 04 11:41:29 2008 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([199.232.76.165]) by lo.gmane.org with esmtp (Exim 4.50) id 1Jsaia-000806-SN for ged-emacs-devel@m.gmane.org; Sun, 04 May 2008 11:41:17 +0200 Original-Received: from localhost ([127.0.0.1]:53049 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1Jsahr-0007AT-BL for ged-emacs-devel@m.gmane.org; Sun, 04 May 2008 05:40:31 -0400 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1Jsafo-0006Te-7X for emacs-devel@gnu.org; Sun, 04 May 2008 05:38:24 -0400 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1Jsafm-0006Sj-RO for emacs-devel@gnu.org; Sun, 04 May 2008 05:38:23 -0400 Original-Received: from [199.232.76.173] (port=33363 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1Jsafm-0006ST-Je for emacs-devel@gnu.org; Sun, 04 May 2008 05:38:22 -0400 Original-Received: from fencepost.gnu.org ([140.186.70.10]) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1Jsafm-0005Fh-A8 for emacs-devel@gnu.org; Sun, 04 May 2008 05:38:22 -0400 Original-Received: from rms by fencepost.gnu.org with local (Exim 4.67) (envelope-from ) id 1JsafJ-0001KB-LQ; Sun, 04 May 2008 05:37:53 -0400 In-reply-to: (message from Stefan Monnier on Sat, 03 May 2008 15:24:17 -0400) X-detected-kernel: by monty-python.gnu.org: Linux 2.6, seldom 2.4 (older, 4) X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:96430 Archived-At: Good point. But I don't think it's a problem either: what I meant by "multithreading within a single buffer" is that we'd have a lock per buffer. Whenever lisp code enters a buffer, we'd acquire the lock. What does it mean to "enter a buffer"? Does calling `set-buffer' do that? If it means entering the code of a primitive that directly examines or alters the buffer contents, I would suggest not allowing a thread switch inside of them (or most primitives). If the threads are implemented explicitly in our C code, switching can happen only where we want it to happen. That would avoid lots of problems. We would only allow thread switches at places where Lisp code can be run.