"Matthias" == Matthias Koeppe mkoeppe+slime@mail.math.uni-magdeburg.de writes:
Matthias> I would be willing to work on a system of printer hooks that is Matthias> suitable for the purposes of SLIME and of McCLIM. I see this as a
It would be very nice if you could do this.
Matthias> You can test with CVS SLIME plus my SLIME patch below.
Matthias> In SLIME, it is possible to refer to old REPL results (even Matthias> #<unreadable> ones) simply by copying their textual representation Matthias> within Emacs. This does not require any printer patches.
Matthias> Moreover, after the file present.lisp is loaded, it is also possible Matthias> to refer to (unreadable) objects that were only printed (as a side Matthias> effect of the computation). Try (DESCRIBE 'STANDARD-OBJECT) and then Matthias> copy one of the highlighted #<unreadable> objects as new REPL input.
I tried out your patch and present.lisp (after removing the load of cmucl-pprint-patch) using a cmucl built with your pretty-stream annotations. Despite some bugs in slime (possibly because I'm using XEmacs and not Emacs), this looks really cool! The unreadable objects are clickable now, just like the regular output presentations. And since it's hooked into the pretty printer, I see that if I C-c C-k a file, the slime repl buffer has the pathname of the file highlighted and clickabe as well. This didn't happen before.
This patch will be in the next snapshot of cmucl. Thanks for the patch!
Ray