From mboxrd@z Thu Jan 1 00:00:00 1970 X-Msuck: nntp://news.gmane.io/gmane.emacs.gnus.general/29725 Path: main.gmane.org!not-for-mail From: Greg Stark Newsgroups: gmane.emacs.gnus.general Subject: Re: Excessively Painful Forwards Date: 09 Apr 2000 23:08:18 -0400 Organization: The Emacs Conspiracy; member since 1992 Sender: owner-ding@hpc.uh.edu Message-ID: <878zymwt3x.fsf@HSE-MTL-ppp43091.qc.sympatico.ca> References: <6evh3p57ro.fsf@sloth.netpliance.net> NNTP-Posting-Host: coloc-standby.netfonds.no Mime-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: 8bit X-Trace: main.gmane.org 1035166348 4377 80.91.224.250 (21 Oct 2002 02:12:28 GMT) X-Complaints-To: usenet@main.gmane.org NNTP-Posting-Date: Mon, 21 Oct 2002 02:12:28 +0000 (UTC) Cc: Chris Richards , ding@gnus.org Return-Path: Original-Received: from bart.math.uh.edu (bart.math.uh.edu [129.7.128.48]) by mailhost.sclp.com (Postfix) with ESMTP id A1B47D051F for ; Sun, 9 Apr 2000 23:09:29 -0400 (EDT) Original-Received: from sina.hpc.uh.edu (lists@Sina.HPC.UH.EDU [129.7.3.5]) by bart.math.uh.edu (8.9.1/8.9.1) with ESMTP id WAB10788; Sun, 9 Apr 2000 22:09:06 -0500 (CDT) Original-Received: by sina.hpc.uh.edu (TLB v0.09a (1.20 tibbs 1996/10/09 22:03:07)); Sun, 09 Apr 2000 22:08:17 -0500 (CDT) Original-Received: from mailhost.sclp.com (postfix@sclp3.sclp.com [204.252.123.139]) by sina.hpc.uh.edu (8.9.3/8.9.3) with ESMTP id WAA08680 for ; Sun, 9 Apr 2000 22:08:07 -0500 (CDT) Original-Received: from tomts2-srv.bellnexxia.net (tomts2.bellnexxia.net [209.226.175.140]) by mailhost.sclp.com (Postfix) with ESMTP id D5EC3D051E for ; Sun, 9 Apr 2000 23:08:21 -0400 (EDT) Original-Received: from HSE-Montreal-ppp33181.qc.sympatico.ca ([216.209.196.171]) by tomts2-srv.bellnexxia.net (InterMail vM.4.01.02.17 201-229-119) with ESMTP id <20000410030815.XUVU1435.tomts2-srv.bellnexxia.net@HSE-Montreal-ppp33181.qc.sympatico.ca>; Sun, 9 Apr 2000 23:08:15 -0400 Original-Received: from localhost ([127.0.0.1] helo=HSE-MTL-ppp43091.qc.sympatico.ca) by HSE-Montreal-ppp33181.qc.sympatico.ca with smtp (Exim 3.03 #1 (Debian)) id 12eUYk-0002aC-00; Sun, 09 Apr 2000 23:08:18 -0400 Original-To: Kai.Grossjohann@CS.Uni-Dortmund.DE (Kai =?iso-8859-1?q?Gro=DFjohann?=) In-Reply-To: Kai.Grossjohann@CS.Uni-Dortmund.DE's message of "16 Feb 2000 23:13:29 +0100" User-Agent: Gnus/5.070095 (Pterodactyl Gnus v0.95) Emacs/20.5 Original-Lines: 42 Precedence: list X-Majordomo: 1.94.jlt7 Xref: main.gmane.org gmane.emacs.gnus.general:29725 X-Report-Spam: http://spam.gmane.org/gmane.emacs.gnus.general:29725 On the other hand it would not be hard to do this for network-bound interfaces such as nntp. In fact the basic infrastructure in nntp.el is there already, all that's needed now is support from gnus itself in the form of an asynchronous backend interface. I have a backend here that uses recursive edits to demonstrate how useful this would be and it's proven extremely useful. Unfortunately recursive edits don't scale as a way to do this. In particular they wouldn't work well if multiple backends tried to use this technique... It might be tricky but basically what gnus needs is an option to provide to the backend that would be a closure to call when the operation was finished. Then the backend could schedule all its work and return immediately. Taking care of the processing of data in callbacks, calling the closure when it's finished. Kai.Grossjohann@CS.Uni-Dortmund.DE (Kai Großjohann) writes: > Chris Richards writes: > > > On a related note, gnus hangs my xemacs session when it > > checks/parses/splits news and mail. Is this a limitation of the > > architecture or this there a way to background these tasks? > > In principle, it is possible to background these tasks, but it is very > hard to code due to the limited form of (cooperative) multitasking > implemented in Emacs. > > You would have to recode Gnus such that it does its work in small > chunks: when you hit `g', the first chunk is scheduled for a time when > Emacs is idle. Just before finishing, the first chunk schedules a > second chunk for a time when Emacs is idle, and so on. This would be > a decidedly nontrivial undertaking. > > kai > -- > ~/.signature: No such file or directory > -- greg