Couple more developments: Now check that we are writing to a slime stream (or an pretty-printer stream that directs to a slime stream) before presenting. This should ensure that you don't land up with the in-band messages in places you didn't intend to, at the expense of possibly missing presentations if you direct your io to slime via some wrapping stream. (but you can specialize slime-stream-p for that stream, if you are motivated)
First readable object : pathnames are now presented. E.g. load file (when *load-verbose* t) log message has sensitive pathname. Check out the menu (right click).
Turn that off by setting *enable-presenting-readable-objects* nil
You still have to explicitly load present.lisp. Please do. Unless there are objections I'll probably make this the default in a few days.
Couple of more notes in the ChangeLog
To do:
- Make it work for non-dedicated-stream - When you copy the text of just a portion of a presentation with meta-w, remove the text properties. - Properly factor for swank.lisp, swank-backend, and lisp specific portions. - boxed text for multiple lines is ugly (lispms boxed the outside of all the text - emacs boxes each line). So see if there is a way to get nicer behavior, or consider changing default mouseover style. - Maybe replace x-popup-menu with menu-keymaps (volunteers welcome) - Assuming presenting readable objects doesn't cause problems, decide what other objects should so be printed - next candidate: structures. - Try to implement nested presentations. Strategy: slime-repl-old-output becomes a list of ids of object point is part of. Copy presentation and mouseover highlighting need extra work to properly gather all the parts.
-Alan
On May 22, 2005, at 2:58 AM, Alan Ruttenberg wrote:
There is now support for menus on the presentations. Assuming you have present.lisp loaded, mouse-3 will bring it up. Documentation on how to define menus is in present.lisp.
Note that this uses x-popup-menu. Don't know if that works in xemacs.
-Alan