Wed Aug 1 16:43:22 CEST 2007

elisp sync

now that tasks are working, and output is working too, there is no
longer a need to distinguish between synchronous and asynchronous
invokation from emacs: only synchronous is supported.

async stuff is handled from scheme: scheme can call arbitrary
functions from the process filter.

ok, that's not true. control needs to be passed back to elisp when a
command is sent: can't busy wait on it, polling output.. this is only
for synchronous stuff.

but, i got it almost right now:
* output is always asynchronous: goes straight to the buffer
* only one callback for values: snot-reply-sync

what i need is a proper way to handle replys. actually there are only
2 mechanisms that need replies, of which there is only one at a time:

* generic eval (emacs is single-threaded)
* prompt ready (only one snot process)

but i do want to combine them. so both need their own callback and an
exclusion mechanism. 

got them working now, but still need exclusion mechanism, and tasks.