Hi,
If noone opposes, I'd like to push the commits in postscript to slime master. They target the slime-repl.el and slime-presentations.el contribs only, but the topmost one might be worthy of some more analysis, since it now makes every interactive REPL request two packets heavier.
The fixes and functionality added target returning objects from the debugger to the slime-repl.el REPL, with or without the slime-presentations.el contrib (which according to my analysis never actually worked and/or has been broken for at least some years).
João
commit 41cc9eba408a28c02e46f80d40b8dea5d3c34b34 Author: Joao Tavora joaotavora@gmail.com Date: Thu Jan 30 21:23:51 2014 +0000
Allow "copy-to-repl" from *sldb* buffers from other threads.
The previous change didn't deal with the edge case where the *sldb* buffer is associated with a thread different from the REPL's. In these cases the *, / and + variables weren't being set in the REPL where they're useful. This change fixes that by setting these variables in from correct REPL buffer.
* contrib/slime-repl.el (slime-repl-eval-string): slime-eval SWANK:SET-REPL-VARIABLES when SWANK acknowledges with OK.
* contrib/swank-repl.lisp (*last-repl-form*, *last-repl-values*): new variables. (*repl-set-variables-function*): new variable. (set-repl-variables): new function, extracted from REPL-EVAL, switches to *REPL-SET-VARIABLES-FUNCTION* if that is non-nil. (repl-eval): don't set auto variables here, defer that for later.
commit a89789b6e7d78f65de71642fc675261657791421 Author: Joao Tavora joaotavora@gmail.com Date: Thu Jan 30 16:10:23 2014 +0000
Unbreak "copy-to-repl" functionality in slime-presentations.el
The `slime-copy-presentation-to-repl' function simply copied a presentations text to the REPL, which made these objects ephemeral. For *inspector* the presentation was mispointing as soon as the user navigated away*. For *sldb* the presentation it just didn't work.
For this functionality, slime-presentation.el uses the same strategy as slime-repl.el. A new `sldb-copy-down-to-repl' is also offered in slime-repl.el.
* contrib/slime-presentations.el (slime-copy-presentation-to-repl): Unbreak. Use same `slime-repl-send-string' strategy as slime-repl.el.
* contrib/slime-repl.el (sldb-mode-map): Bind M-RET to `sldb-copy-down-to-repl' in `sldb-mode-map'. (sldb-copy-down-to-repl): New function, much like `slime-inspector-copy-down-to-repl'
* contrib/slime-repl.el (slime-inspector-copy-down-to-repl): Use only first return value of SWANK:INSPECTOR-NTH-PART.