Gnus development mailing list
 help / color / mirror / Atom feed
* asynchronous backends
@ 1997-04-14 13:16 Greg Stark
  1997-04-14 20:52 ` Stainless Steel Rat
  1997-04-20 20:08 ` Lars Magne Ingebrigtsen
  0 siblings, 2 replies; 7+ messages in thread
From: Greg Stark @ 1997-04-14 13:16 UTC (permalink / raw)



Ok, so sometime late in the september Gnus cycle i sent a nice long post
describing how an asynchronous interface could be done. Looking at the code
and the documentation now, it seems only half of what i described was done.

Namely, it's nice and all that nntp can pre-fetch articles before i ask for
them, but that's not the really cool idea. The really cool idea is that when i
enter a new group and there are four gazillion new articles and i really want
to read them all, while Gnus is fetching the NNTP scan it can let me go back
to editing my files (edit files? in emacs?) In general it really sucks a lot
when my emacs freezes up and i can't do anything without aborting the long
Gnus operation, some of us feel, uhm, like less of a person when our emacs is
locked up.

This would also let Gnus do some other cool things, like request group lists
from multiple servers at the same time. This makes more sense if more than one
backend is involed; if i have a slow network, why not go poking around in my
files while you're waiting for the nntp server to answer? Or let me start
reading my mail while it's still fetching the group list from some other
server. 

The reason i posted the original message was because i was implementing a
backend for which the existing emacs interface was asynchronous in precisely
this way. I still feel ashamed that i can't reproduce the single nicest
feature of the existing interface in my Gnus backend.

If you don't believe me that this is possible, think of the Man package. There
are some tricky bits, and if you try a second operation using the same virtual
server it may have to lock up anyways, but it could be done. I'll go find my
original post if needed, it explained this in more detail.

greg


^ permalink raw reply	[flat|nested] 7+ messages in thread
* Re: asynchronous backends
@ 1997-04-17 13:12 Greg Stark
  1997-04-17 20:35 ` Stainless Steel Rat
  0 siblings, 1 reply; 7+ messages in thread
From: Greg Stark @ 1997-04-17 13:12 UTC (permalink / raw)



> Emacs cannot do this, not the way you want.

Wrong. Please go back and read my orginal post, This is precisely the claim i
refuted then. In fact i alluded to this in the last paragraph of my post,
neither the Man package, nor the W3 package, nor the original emacs interface
to the system my backend is for are figments of my imagination. 

I am familiar with both the Emacs features nntp uses (it doesn't actually use
process filters any more, read the code) and with threaded environments.
Threaded environments do not change what is possible, they only make
implementing asynchronous interfaces easier and more natural, it is entirely
possible to implement what i described without a threaded elisp interpreter, i
explained how in my post last September.

greg


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

end of thread, other threads:[~1997-04-20 20:08 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
1997-04-14 13:16 asynchronous backends Greg Stark
1997-04-14 20:52 ` Stainless Steel Rat
1997-04-16  1:23   ` Ken Raeburn
1997-04-16  3:21     ` Stainless Steel Rat
1997-04-20 20:08 ` Lars Magne Ingebrigtsen
1997-04-17 13:12 Greg Stark
1997-04-17 20:35 ` Stainless Steel Rat

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