From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Paul Michael Reilly Newsgroups: gmane.emacs.devel Subject: Re: Very interesting analysis of "the state of Emacs" Date: Wed, 30 Apr 2008 02:24:55 -0400 Message-ID: <481810B7.90000@pajato.com> References: <481693C3.70901@emf.net> <4816CDB6.6000006@pajato.com> <4817D79F.8040508@gmail.com> NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-15; format=flowed Content-Transfer-Encoding: 7bit X-Trace: ger.gmane.org 1209536720 12134 80.91.229.12 (30 Apr 2008 06:25:20 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Wed, 30 Apr 2008 06:25:20 +0000 (UTC) Cc: emacs-devel@gnu.org To: Stephen Eilert Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Wed Apr 30 08:25:56 2008 connect(): Connection refused 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 1Jr5lJ-00017M-Jw for ged-emacs-devel@m.gmane.org; Wed, 30 Apr 2008 08:25:53 +0200 Original-Received: from localhost ([127.0.0.1]:47009 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1Jr5kc-0006Ei-Cy for ged-emacs-devel@m.gmane.org; Wed, 30 Apr 2008 02:25:10 -0400 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1Jr5kY-0006Ed-S9 for emacs-devel@gnu.org; Wed, 30 Apr 2008 02:25:06 -0400 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1Jr5kX-0006E6-6B for emacs-devel@gnu.org; Wed, 30 Apr 2008 02:25:06 -0400 Original-Received: from [199.232.76.173] (port=45058 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1Jr5kX-0006E3-1j for emacs-devel@gnu.org; Wed, 30 Apr 2008 02:25:05 -0400 Original-Received: from mx20.gnu.org ([199.232.41.8]) by monty-python.gnu.org with esmtps (TLS-1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.60) (envelope-from ) id 1Jr5kW-0000C6-Ja for emacs-devel@gnu.org; Wed, 30 Apr 2008 02:25:04 -0400 Original-Received: from 68-191-253-210.static.oxfr.ma.charter.com ([68.191.253.210] helo=copa.pajato.com) by mx20.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1Jr5kV-0001OU-9m for emacs-devel@gnu.org; Wed, 30 Apr 2008 02:25:03 -0400 Original-Received: from lilly.pajato.com (copa.pajato.com [68.191.253.210]) (authenticated bits=0) by copa.pajato.com (8.14.1/8.13.8) with ESMTP id m3U6Ot6W021620 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Wed, 30 Apr 2008 02:24:58 -0400 User-Agent: Thunderbird 2.0.0.12 (X11/20080226) In-Reply-To: <4817D79F.8040508@gmail.com> X-Greylist: Sender succeeded SMTP AUTH authentication, not delayed by milter-greylist-3.0 (copa.pajato.com [68.191.253.210]); Wed, 30 Apr 2008 02:24:58 -0400 (EDT) X-detected-kernel: by mx20.gnu.org: Linux 2.6 (newer, 3) 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:96197 Archived-At: Stephen Eilert wrote: > Richard M Stallman wrote: >> The other hard problem is multi-tasking in the Emacs Lisp engine. >> RMS once left me with the impression that this was virtually >> intractable, especially if one wanted to have existing Elisp code >> base >> compatibility, a reasonable thing to want. >> >> I think "intractable" might be too pessimistic. It is certainly >> a lot of work, but someone could give it a try. >> >> >> > Before diving in the merits of whether or not it is possible to add > multi-tasking to Emacs (by that I assume full-blown threads), what are > the problems this is trying to solve? > > Is it to add background processing (as in, file indexing, background > compilation, downloads and the like)? If then, a notion of task > priorities could be discussed. For instance, Eclipse knows that, in > order to deploy an application, it must be compiled first. It > understands that those tasks cannot happen in parallel and should be > queued. On the other hand, you can start downloads (usually, plugins and > updates for said plugins) right away. > > It could be a way to use the increasing amount of available processing > cores in personal computers. Then again, Emacs doesn't seem like a > particularly CPU-bound application. > > So I am at a loss why this is so important. Could someone clarify? Over the years I've frequently encountered situations where I started executing some Elisp code that took longer than I expected. Things like rgrepping and accessing the network where the network issues have Emacs' dedicated attention (and probably some more examples if I paid more close attention). My first inclination was to start up another instance of Emacs and that was cool --- I now typically use half a dozen instances at any one time --- but it did occur to me that I was essentially running another Elisp engine, i.e. another thread. So that was basically the reason why I had the conversation with Richard in the first place. Much as I'd love to have multi-threading in Emacs it is way over my head, at least in any kind of reasonable timeframe. Now fast forward to the era of multiple tabbed browsing, mostly firefox. Each tab is essentially a separate thread so if the holy grail of marrying multi-site browsing and Emacs is to be obtained some form of multi-threading seems intuitively required. But if some wizard figures out how to get the grail with only a half a thread, that works for me. :-) I think the main point is that those of us who feel annoyed every time we have to leave an Emacs frame to do some work can only get satisfaction from Emacs when it can do multiple of those things that now cause it prevent the User from doing something else inside of Emacs while it is cranking where it really doesn't matter whether the cranking is on the CPU(s) or in the I/O. -pmr