From mboxrd@z Thu Jan 1 00:00:00 1970 Path: main.gmane.org!not-for-mail From: Miles Bader Newsgroups: gmane.emacs.devel Subject: Re: Are there plans for a multi-threaded Emacs? Date: 17 Nov 2003 13:29:31 +0900 Sender: emacs-devel-bounces+emacs-devel=quimby.gnus.org@gnu.org Message-ID: References: <87oevbes4h.fsf@emacswiki.org> <20031117040607.C6C5D79B72@server2.messagingengine.com> Reply-To: Miles Bader NNTP-Posting-Host: deer.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: sea.gmane.org 1069044012 32392 80.91.224.253 (17 Nov 2003 04:40:12 GMT) X-Complaints-To: usenet@sea.gmane.org NNTP-Posting-Date: Mon, 17 Nov 2003 04:40:12 +0000 (UTC) Cc: Emacs Devel , Frank Schmitt , Alex Schroeder Original-X-From: emacs-devel-bounces+emacs-devel=quimby.gnus.org@gnu.org Mon Nov 17 05:40:08 2003 Return-path: Original-Received: from quimby.gnus.org ([80.91.224.244]) by deer.gmane.org with esmtp (Exim 3.35 #1 (Debian)) id 1ALbBI-0001cw-00 for ; Mon, 17 Nov 2003 05:40:08 +0100 Original-Received: from monty-python.gnu.org ([199.232.76.173]) by quimby.gnus.org with esmtp (Exim 3.35 #1 (Debian)) id 1ALbBH-00055p-00 for ; Mon, 17 Nov 2003 05:40:08 +0100 Original-Received: from localhost ([127.0.0.1] helo=monty-python.gnu.org) by monty-python.gnu.org with esmtp (Exim 4.24) id 1ALc0D-0000Y8-DO for emacs-devel@quimby.gnus.org; Mon, 17 Nov 2003 00:32:45 -0500 Original-Received: from list by monty-python.gnu.org with tmda-scanned (Exim 4.24) id 1ALbzq-0000Xk-SZ for emacs-devel@gnu.org; Mon, 17 Nov 2003 00:32:22 -0500 Original-Received: from mail by monty-python.gnu.org with spam-scanned (Exim 4.24) id 1ALbzK-0000Tv-0O for emacs-devel@gnu.org; Mon, 17 Nov 2003 00:32:21 -0500 Original-Received: from [210.143.35.52] (helo=TYO202.gate.nec.co.jp) by monty-python.gnu.org with esmtp (Exim 4.24) id 1ALbym-0000Ok-8e; Mon, 17 Nov 2003 00:31:17 -0500 Original-Received: from mailgate4.nec.co.jp (mailgate53.nec.co.jp [10.7.69.184]) by TYO202.gate.nec.co.jp (8.11.7/3.7W01080315) with ESMTP id hAH4Tbn29403; Mon, 17 Nov 2003 13:29:38 +0900 (JST) Original-Received: (from root@localhost) by mailgate4.nec.co.jp (8.11.7/3.7W-MAILGATE-NEC) id hAH4TbZ11915; Mon, 17 Nov 2003 13:29:37 +0900 (JST) Original-Received: from edtmg02.lsi.nec.co.jp ([10.26.16.202]) by mailsv3.nec.co.jp (8.11.7/3.7W-MAILSV4-NEC) with ESMTP id hAH4TbL27704; Mon, 17 Nov 2003 13:29:37 +0900 (JST) Original-Received: from mcsss2.ucom.lsi.nec.co.jp (localhost [127.0.0.1]) by edtmg02.lsi.nec.co.jp (8.9.3p2+3.2W/3.7W_EDC_Ver.1.0) with ESMTP id NAA13327; Mon, 17 Nov 2003 13:29:36 +0900 (JST) Original-Received: from mcsss2.ucom.lsi.nec.co.jp (localhost [127.0.0.1]) by mcsss2.ucom.lsi.nec.co.jp (8.12.10/8.12.8/EDcg v2.01-mc/1046780839) with ESMTP id hAH4TZ7Q013787; Mon, 17 Nov 2003 13:29:35 +0900 (JST) Original-Received: (from miles@localhost) by mcsss2.ucom.lsi.nec.co.jp (8.12.10/8.12.6/Submit) id hAH4TVOI013784; Mon, 17 Nov 2003 13:29:31 +0900 (JST) X-Authentication-Warning: mcsss2.ucom.lsi.nec.co.jp: miles set sender to miles@lsi.nec.co.jp using -f Original-To: "Dhruva Krishnamurthy" System-Type: sparc-sun-solaris2.7 Blat: Foop In-Reply-To: <20031117040607.C6C5D79B72@server2.messagingengine.com> Original-Lines: 18 X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.2 Precedence: list List-Id: Emacs development discussions. List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+emacs-devel=quimby.gnus.org@gnu.org Xref: main.gmane.org gmane.emacs.devel:17854 X-Report-Spam: http://spam.gmane.org/gmane.emacs.devel:17854 "Dhruva Krishnamurthy" writes: > Is there some place/person who can elaborate the reason for not > supporting multi-threading for GNU Emacs. Is it because there is no > strong case for supporting/requiring a multi-threaded GNU Emacs or the > sheer complexity in making GNU Emacs a multi-threaded application. Because it's very hard, or at the least would require a lot of work. Multi-threading would require all of emacs -- including elisp code -- to be made thread-safe. Consider a simple bit of elisp code: (setq GLOBAL (cons 'x GLOBAL)) In a pre-emptively threaded emacs, another thread could run between accessing GLOBAL and setting it. Whoops. -Miles -- ((lambda (x) (list x x)) (lambda (x) (list x x)))