Hello,
By default, the connection between the lisp and the slime repl is buffered. I would like to propose to have it unbuffered. on the grounds that if the user has a (format t ...), he/she probably wants the message to appear immediately on the screen :-)
I've attached two microscopic patches that make the connections unbuffered for sbcl and cmucl.
Regards, Mario.
Date: Fri, 11 Nov 2005 12:42:11 +0100 From: "Mario S. Mommer" mmommer@common-lisp.net
By default, the connection between the lisp and the slime repl is buffered. I would like to propose to have it unbuffered. on the grounds that if the user has a (format t ...), he/she probably wants the message to appear immediately on the screen :-)
Wouldn't it be best for the Swank evaluation RPCs to force the output themselves? This is just as simple to implement, doesn't introduce potential performance problems of unbuffered I/O, and solves the problem more clearly where it is occurring. (This is what I do in SLIME48.)
Taylor Campbell campbell@mumble.net writes:
Wouldn't it be best for the Swank evaluation RPCs to force the output themselves? This is just as simple to implement, doesn't introduce potential performance problems of unbuffered I/O, and solves the problem more clearly where it is occurring. (This is what I do in SLIME48.)
How about
(progn (format t "Wait 10 secs...") (sleep 10) (format t "...done.~%"))
Does it do what you would expect from an unbuffered stream?
I've been using the streams unbuffered for the past year or so, and have never noticed any performance problems.
Regards, Mario.