From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Tom Tromey Newsgroups: gmane.emacs.devel Subject: Re: multi-threaded Emacs Date: Fri, 05 Dec 2008 09:57:09 -0700 Message-ID: References: <87abbiody1.fsf@master.homenet> <877i6l5d8s.fsf@master.homenet> <874p1npvtj.fsf@master.homenet> <87ej0qci8g.fsf@master.homenet> <87y6yxm7xr.fsf@master.homenet> <87oczroysm.fsf@master.homenet> Reply-To: Tom Tromey NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: ger.gmane.org 1228496357 27472 80.91.229.12 (5 Dec 2008 16:59:17 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Fri, 5 Dec 2008 16:59:17 +0000 (UTC) Cc: emacs-devel@gnu.org To: Helmut Eller Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Fri Dec 05 18:00:20 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 1L8e0o-0008GY-7v for ged-emacs-devel@m.gmane.org; Fri, 05 Dec 2008 17:58:42 +0100 Original-Received: from localhost ([127.0.0.1]:58184 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1L8dzd-000783-Q3 for ged-emacs-devel@m.gmane.org; Fri, 05 Dec 2008 11:57:29 -0500 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1L8dzZ-00077e-Su for emacs-devel@gnu.org; Fri, 05 Dec 2008 11:57:25 -0500 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1L8dzY-00077N-8p for emacs-devel@gnu.org; Fri, 05 Dec 2008 11:57:24 -0500 Original-Received: from [199.232.76.173] (port=47697 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1L8dzY-00077K-4H for emacs-devel@gnu.org; Fri, 05 Dec 2008 11:57:24 -0500 Original-Received: from mx2.redhat.com ([66.187.237.31]:36880) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1L8dzX-0000FJ-GD for emacs-devel@gnu.org; Fri, 05 Dec 2008 11:57:23 -0500 Original-Received: from int-mx2.corp.redhat.com (int-mx2.corp.redhat.com [172.16.27.26]) by mx2.redhat.com (8.13.8/8.13.8) with ESMTP id mB5GvHwV019448; Fri, 5 Dec 2008 11:57:17 -0500 Original-Received: from ns3.rdu.redhat.com (ns3.rdu.redhat.com [10.11.255.199]) by int-mx2.corp.redhat.com (8.13.1/8.13.1) with ESMTP id mB5GvGe4025232; Fri, 5 Dec 2008 11:57:16 -0500 Original-Received: from opsy.redhat.com (vpn-14-21.rdu.redhat.com [10.11.14.21]) by ns3.rdu.redhat.com (8.13.8/8.13.8) with ESMTP id mB5GvFT7030146; Fri, 5 Dec 2008 11:57:15 -0500 Original-Received: by opsy.redhat.com (Postfix, from userid 500) id A5489482B5; Fri, 5 Dec 2008 09:57:09 -0700 (MST) X-Attribution: Tom In-Reply-To: (Helmut Eller's message of "Fri\, 05 Dec 2008 12\:02\:19 +0100") User-Agent: Gnus/5.11 (Gnus v5.11) Emacs/22.2 (gnu/linux) X-Scanned-By: MIMEDefang 2.58 on 172.16.27.26 X-detected-operating-system: by monty-python.gnu.org: GNU/Linux 2.6 (newer, 3) 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:106617 Archived-At: >>>>> "Helmut" == Helmut Eller writes: Helmut> I'm wondering what the exact problem with Gnus is. Getting new news blocks all of Emacs, sometimes for a long time. Also, entering a newsgroup can sometimes take quite a while. It seems to me that this could be fixed in Gnus, by installing a special keymap (to prevent the user from trying "bad" things) and then doing a lot more work in the process filter. This is a pain, of course. Entering a newsgroup is trickier since I am sure that it is not always blocked on I/O. Even this could be done -- say by doing small increments of work each time a timer fires. But, the problem is not limited to Gnus. If you do a big update in PCL-CVS (or psvn), Emacs will pause while preparing the buffer. Some VC things did this, too, in 22 (but now are async, I think). I've also noticed that ERC can cause Emacs to be unusable for long periods, I think when it has trouble contacting the nameserver. Also, ERC tends to disconnect from the server if Emacs pauses for too long -- I got much more sensitive to problems in this area once I started using ERC... The promise of threads isn't just that it can fix these, but that it opens Emacs to new applications without hurting usability. Maybe there are other ways to accomplish the same thing, though. Tom