[slime-devel] Slime presentation marker bug (patch attached)

Matthias Koeppe mkoeppe+slime at mail.math.uni-magdeburg.de
Wed Sep 29 20:37:40 UTC 2010


On Mon, Sep 27, 2010 at 2:13 PM, Nathan Bird <nathan at acceleration.net> wrote:
>  On 9/23/2010 4:52 PM, Nathan Bird wrote:
>>  I put a test case here that documents it: http://paste.lisp.org/+2GLO
>>
>> The issue is that when it starts a presentation it saves a marker, but
>> then that marker gets moved when printing text and so when it ends the
>> presentation the start and end markers are the same point, the one
>> immediately after the text we are trying to present.
>>
> I think we got this fixed. I changed the repl-emit to use insert rather
> than insert-before. This leaves presentation-start marker intact as well
> as leaving the overlay in place rather than extending the end of the
> overlay with each further insert. This change necessitates a few other
> tweaks to that function as the other markers that were being moved based
> on the insert-before need to be updated manually now.

This looks good.

> I also change a few items in swank-presentation-streams to get that
> working:
> * pass slime-stream-p :dedicated through as other functions use that.
> <- presentation streams work with dedicated output streams now (again?).
> * slime-stream-p had a scheme to cache the last-answer that wasn't
> threadsafe, it is now.

Excellent.

> * slime-stream-p can be dynamically overridden with *slime-stream-p*;
> useful when writing to a mem buffer or some other location that will be
> dumped to a slime stream but is natively detectable as such.

I'm not sure about the last change. I don't think it can work in a
non-dedicated stream setup because the presentation boundaries are
signalled out-of-band.

Matthias
-- 
Matthias Koeppe -- http://www.math.ucdavis.edu/~mkoeppe




More information about the slime-devel mailing list