[slime-devel] Re: Buffered slime output

Raymond Toy toy.raymond at gmail.com
Sat Sep 13 17:51:17 UTC 2008


Helmut Eller wrote:
> * Raymond Toy [2008-09-11 03:24+0200] writes:
> 
>> Until yesterday, I had been using a version from 2008-07-08.  This
>> worked pretty well.  Yesterday I updated to the latest CVS version.
>>
>> Everything seems to be working fine, but now the output appears to be
>> buffered strangely.  Any function that produces a lot of output seems to
>> have it buffered.  When I enter something else into the repl, the
>> missing output then comes out.  This is a bit annoying.
> 
> FORCE-OUTPUT didn't always flush the buffer.  That should be fixed now.
> We call FORCE-OUTPUT just before returning the result to Emacs.

Thanks for the quick fix.  I tried it out and it works better.  However,
it also works even worse. :-(  What I see is that it's working fine when
I'm compiling up a bunch of stuff, but eventually output stops and cmucl
sucks up 100% CPU doing something.  XEmacs is pretty idle at this point.

> 
>> So I set *use-dedicated-output-stream* to T.  This works much better,
>> but now the output is interleaved with the output of the repl.  That is,
>> the result of the repl is printed before the output of the function.  I
>> can live with that, but it's kind of annoying too.
> 
> To fix that, we would need to synchronize the two streams.  That's not
> easy, because we just write the raw output to the dedicated output
> stream.  We don't even have sequence numbers or something like that.

Can't you just hook into the repl prompt to flush the dedicated stream,
and then output the results?  (He says without the foggiest idea how any
of this works. :-) )

In any case, I don't have any real problems with
*use-dedicated-output-stream*.

Ray




More information about the slime-devel mailing list