Gnus development mailing list
 help / color / mirror / Atom feed
From: Greg Stark <gsstark@mit.edu>
Cc: Chris Richards <cjr@netpliance.net>, ding@gnus.org
Subject: Re: Excessively Painful Forwards
Date: 09 Apr 2000 23:08:18 -0400	[thread overview]
Message-ID: <878zymwt3x.fsf@HSE-MTL-ppp43091.qc.sympatico.ca> (raw)
In-Reply-To: Kai.Grossjohann@CS.Uni-Dortmund.DE's message of "16 Feb 2000 23:13:29 +0100"


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 <cjr@netpliance.net> 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




  reply	other threads:[~2000-04-10  3:08 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2000-02-16 18:20 Chris Richards
2000-02-16 22:13 ` Kai Großjohann
2000-04-10  3:08   ` Greg Stark [this message]
2000-04-10  7:52     ` Kai Großjohann

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=878zymwt3x.fsf@HSE-MTL-ppp43091.qc.sympatico.ca \
    --to=gsstark@mit.edu \
    --cc=cjr@netpliance.net \
    --cc=ding@gnus.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).