Gnus development mailing list
 help / color / mirror / Atom feed
* Excessively Painful Forwards
@ 2000-02-16 18:20 Chris Richards
  2000-02-16 22:13 ` Kai Großjohann
  0 siblings, 1 reply; 4+ messages in thread
From: Chris Richards @ 2000-02-16 18:20 UTC (permalink / raw)


Howdy.

S o m forwards a message.  When I tried to forward a mutli-part
message which contain a largish attachment, it took quite a well to
render the *mail* buffer.  xemacs climbed to 97% of the CPU and 49% of
available memory.

When it finished churning, I realized why... the entire attachment was
shown encoded in the buffer.

Is there away to _hide_ such attachments?  Knowing they are there in
buttonized form would be nice--anything to speed up the access.

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?

Cheers,
cjr



^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: Excessively Painful Forwards
  2000-02-16 18:20 Excessively Painful Forwards Chris Richards
@ 2000-02-16 22:13 ` Kai Großjohann
  2000-04-10  3:08   ` Greg Stark
  0 siblings, 1 reply; 4+ messages in thread
From: Kai Großjohann @ 2000-02-16 22:13 UTC (permalink / raw)
  Cc: ding

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



^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: Excessively Painful Forwards
  2000-02-16 22:13 ` Kai Großjohann
@ 2000-04-10  3:08   ` Greg Stark
  2000-04-10  7:52     ` Kai Großjohann
  0 siblings, 1 reply; 4+ messages in thread
From: Greg Stark @ 2000-04-10  3:08 UTC (permalink / raw)
  Cc: Chris Richards, ding


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




^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: Excessively Painful Forwards
  2000-04-10  3:08   ` Greg Stark
@ 2000-04-10  7:52     ` Kai Großjohann
  0 siblings, 0 replies; 4+ messages in thread
From: Kai Großjohann @ 2000-04-10  7:52 UTC (permalink / raw)
  Cc: Chris Richards, ding

Greg Stark <gsstark@mit.edu> writes:

> 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. 

Note that this is not quite sufficient for, eg, mail splitting.  Here,
you get a large ~/Mail/Incoming file and there is no natural division
between chunks of work, like in process filters, so what it comes down
to is that you have to do that yourself.

And that's all I had been trying to say.  Maybe `very hard' was an
exaggeration, but, well...

kai
-- 
The birch trees flay way too low these days.



^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2000-04-10  7:52 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2000-02-16 18:20 Excessively Painful Forwards Chris Richards
2000-02-16 22:13 ` Kai Großjohann
2000-04-10  3:08   ` Greg Stark
2000-04-10  7:52     ` Kai Großjohann

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).