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

Nathan Bird nathan at acceleration.net
Mon Sep 27 21:13:07 UTC 2010


 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.

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.
* 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 updated the ChangeLog to include descriptions.
Individual patches can be pulled from
git://github.com/UnwashedMeme/slime.git, complete patch attached.

Please let me know if I missed anything.

-- 
Nathan Bird
nathan at acceleration.net
http://www.acceleration.net/ 
Custom Programming, Design, Hosting, and Broadband.

-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: presentation-streams.diff
URL: <https://mailman.common-lisp.net/pipermail/slime-devel/attachments/20100927/95760d74/attachment.ksh>


More information about the slime-devel mailing list