[slime-devel] presentations

Alan Ruttenberg alanr-l at mumble.net
Sat Sep 3 04:18:56 UTC 2005


My opinions:

On Sep 2, 2005, at 6:46 PM, Helmut Eller wrote:


> I've some questions about the presentation stuff:
>
> 1. now that we have explicit messages for presentations in the
>    protocol, can we remove the bridge thing?  Yes, I know that
>    presentations will then not work with the dedicated output stream,
>    but that's a efficiency hack and layerying the bridge kludge on top
>    of the efficiency hack is so ugly, it makes me cry.  I'll remove
>    it, if there are no objections.
>

Please don't. I tried not using the bridge version today and it was  
*much* slower. Annoyingly so. Unless you have some other idea about  
how to make the thing run faster. For that matter I've been poking  
around trying to understand how to make the bridge version run even  
faster.

Maybe there is a way to structure the code differently so that it  
isn't so, um, stimulating. It could very well be time to refactor.

BTW, Note that there is some bug in the bridge stuff that I keep  
running into.  I am trying to debug it currently.


> 2. is there another way to handle presentations than with
>    after-change-functions?  Our after-change-functions are totally
>    broken in Emacs20.  Could we use overlays instead of text
>    properties for presentations?

Don't know this stuff well enough to know. My first versions used a  
different mechanism that wasn't as elegant, but might have been more  
backwards compatible.


> 3. is *can-print-presentation* still needed?  It seems to me that
>    slime-stream-p serves about the same purpose, but it is much
>    cleaner.  It's also ugly the we need to bind
>    *can-print-presentation* in a lot of unrelated/random places.
>

The intent of *can-print-presentations* was to avoid the use of  
presentations in places that couldn't handle them like the inspector  
and sldb. I had thought that at some future time I would think about  
whether they had any use there and possibly make them work if so. I  
haven't caught up with all of Matthias' changes yet, so I'm not sure  
if it is necessary any more.

---

FYI, I have a few features that I've been thinking of adding.

1) Style - Bold, color, tooltips.
2) Updateable presentations. I have some cases where I want to leave  
a marker for something that will take some time to compute and later  
update the presentation with the computed result.
3) Separate stream/process to handle presentation events so that they  
can be active even when the repl is busy.

-Alan







More information about the slime-devel mailing list