
Helmut Eller <heller@common-lisp.net> writes:
* Matthias Koeppe [2007-08-26 02:13+0200] writes: [> reintroduce timer for async output]
Any objections?
Yes. The dedicated output stream is an efficiency hack. Those people using it must accept that it may produce incorrect results.
OK. I have changed the documentation instead in CVS, see below. --- slime.texi 04 Feb 2007 09:06:21 -0800 1.54 +++ slime.texi 26 Aug 2007 11:39:22 -0700 @@ -1796,12 +1796,20 @@ @end example @item SWANK:*USE-DEDICATED-OUTPUT-STREAM* -This variable controls an optimization for sending printed output from -Lisp to Emacs. When @code{t} a separate socket is established solely for -Lisp to send printed output to Emacs through. Without the optimization -it is necessary to send output in protocol-messages to Emacs which must -then be decoded, and this doesn't always keep up if Lisp starts -``spewing'' copious output. +This variable controls whether to use an unsafe efficiency hack for +sending printed output from Lisp to Emacs. The default is @code{nil}, +don't use it, and is strongly recommended to keep. + +When @code{t}, a separate socket is established solely for Lisp to send +printed output to Emacs through, which is faster than sending the output +in protocol-messages to Emacs. However, as nothing can be guaranteed +about the timing between the dedicated output stream and the stream of +protocol messages, the output of a Lisp command can arrive before or +after the corresponding REPL results. Thus output and REPL results can +end up in the wrong order, or even interleaved, in the REPL buffer. +Using a dedicated output stream also makes it more difficult to +communicate to a Lisp running on a remote host via SSH +(@pxref{Connecting to a remote lisp}). @item SWANK:*DEDICATED-OUTPUT-STREAM-PORT* When @code{*USE-DEDICATED-OUTPUT-STREAM*} is @code{t} the stream will @@ -1873,7 +1881,7 @@ has the side-effect of giving the entire world access to your lisp image, so we're not going to talk about it} and we'll only have one port open we want to tell swank to not use an extra connection for -output: +output (this is actually the default in current SLIME): @example (setf swank:*use-dedicated-output-stream* nil) -- Matthias Köppe -- http://www.math.uni-magdeburg.de/~mkoeppe (currently @math.ucdavis.edu)