Antonio Menezes Leitao aml@gia.ist.utl.pt writes:
I made a quick hack that allows the Slime listener to use Lisp objects that were returned from the Common Lisp environment.
Very nice :-)
Now, it should be obvious that I am keeping all the returned values in the Common Lisp side for further use. This means that they are not GCed. So, from time to time, it might be wise to clean the Listener (just like before, with C-cC-t) or just the previous output (with C-cC-o). This also releases the corresponding objects from the Common Lisp side.
I added a swank:*record-repl-results* variable so that people can turn this off if they want to. I'm a little worried about the potential for astonishment ("why isn't GC working?!") but not sure what the best solution is.
If the Slime team thinks this is useful then I suggest that you take a good look at the code (as you usually do :-) and refactor it radically because I did a lot of copy&paste just to test the idea. And it might also contains lots of bugs :-)
I get it: generate some code and then let the Emacs-monkeys worry about maintaining it. :-) We'll let you off this time because it's an irresistible feature. I hacked it a little bit after Marco.
Cheers, Luke