What's the purpose of CONNECTION.REPL-RESULTS?
Or asked differently:
Shouldn't SEND-REPL-RESULTS-TO-EMACS use it?
-T.
* Tobias C. Rittweiler [2009-07-06 12:27+0200] writes:
What's the purpose of CONNECTION.REPL-RESULTS?
I think it's used for presentations.
Or asked differently:
Shouldn't SEND-REPL-RESULTS-TO-EMACS use it?
Could be a nice design to have a stream-like object with REPL specific methods ala print-prompt, write-result, y-or-n-p etc. Not sure if it's worth the work, though.
Helmut
On Mon, Jul 6, 2009 at 3:27 AM, Tobias C. Rittweilertcr@freebits.de wrote:
What's the purpose of CONNECTION.REPL-RESULTS?
Or asked differently:
Shouldn't SEND-REPL-RESULTS-TO-EMACS use it?
This stream sends strings to the REPL buffer, where it will appear as a REPL result, using (:write-string MESSAGE :repl-result)
In normal SLIME, there is no *big* difference to sending these :write-string messages directly, which is what SEND-REPL-RESULTS-TO-EMACS does, but see below.
When swank-presentation-streams is loaded, however, we use the stream to support nested presentations in the REPL result, such as those that you get when you type
(list (find-class 'standard-class) (find-class 'standard-object))
I remark that there would also be a benefit in using the stream in normal SLIME without presentation streams: Large REPL results, like from
(make-list 2000000)
will be sent through the stream, so it will be sent using many small :write-string messages rather than one huge message, so we can see the beginning of the output in Emacs before Lisp finishes printing all of it.
Unfortunately it seems there is currently a bug in SLIME that keeps repositioning point to the end of the buffer while this output appears, so it is not possible to scroll up during this time...
Matthias