I often find my self starting some long running process from the REPL and then wish I could carry on using the REPL for other tasks while it was running. Can I use slime to background the current thread or start a new REPL control thread? Starting an additional REPL buffer would be fine as well.
Can I background a running thread in the Slime (Swank Emacs)
425 Views Asked by Arthur Ulfeldt At
3
There are 3 best solutions below
0

This might not answer your question, but it might be helpful to realize that as long as (slime-communication-style)
is :spawn
, evaluations done using C-x C-e
always spawn their own thread and can run in parallel to whatever is happening in the REPL thread. Output (from println
etc.) will appear in the REPL buffer.
Edit:
Hm, I somehow managed to miss the Clojure tag on your question. I would be very suprised if the solution below worked for Clojure, since, as you probably know, the Clojure community unfortunately (at least for those of us using Clojure and CL) maintains its own version of Slime. I won't delete the answer, because it might be helpful for CL programmers searching for this functionality.
Unless there is a similar solution for Clojure, which allows multiple REPLs multiplexed over a single socket, you could maybe just start a second Swank server by hand (from the
*inferior-lisp*
buffer) and connect to it viaslime-connect
as a workaround. (Can't test this ATM, since I stopped using Slime with Clojure a while ago.)Did you try the
slime-mrepl
contrib? I have not actually used it myself, but a quick test worked for me under CCL/Win/Emacs 24.I tested it like this:
M-x slime
, enter(sleep 10)
in the REPL, switch buffer,M-x slime-new-mrepl
.