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