[slime-devel] Re: Buffered slime output

Helmut Eller heller at common-lisp.net
Thu Sep 11 10:45:52 UTC 2008


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

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

> Is there something I've missed to cause this behavior?  Oh, I'm also
> running this with the latest snapshot of cmucl (no unicode)

Ideally, buffered output would be flushed with a timer, but CMUCL has no
timers.

Helmut.




More information about the slime-devel mailing list