It seems that whenever I disconnect from clojure slime session, I cannot reconnect again. I am using leiningen to start the swank session (with lein-swank plugin). So, every time I quit emacs (I know I shouldn't) or reboot/logout I have to restart both slime and swank. Is there a way to re-connect to a slime/clojure-swank session?
+5
A:
Yes, but you have to tell swank not to close the connection:
lein swank 4005 "localhost" :dont-close true
Note that you have to supply the port and host name if you want to pass the :dont-close true
portion; 4005
and "localhost"
are the default values.
In fact, this makes it possible to connect multiple REPLs to the same swank
instance at the same time! Then you can type in (def foo :foo)
in one Emacs and see foo
evaluate to :foo
in the other. :-)
Michał Marczyk
2010-05-02 08:32:31
Doesn't seem to work for me. I get Wrong number of args passed to: swank$swank
Mad Wombat
2010-05-02 11:47:49
Apparently this functionality was introduced in a commit to Leiningen (lein-swank resides in the main Leiningen repo) from 9 Feb *without* the `host` argument, then `host` was added on 21 Mar. Hopefully you're using the version which doesn't accept `host` -- try dropping it from the command line. If you're using a pre-9 Feb Leiningen, perhaps this might be a reason to upgrade!
Michał Marczyk
2010-05-02 16:44:43
I am using whatever lein installed as a dependency (not sure, but it claims to be 1.1.0). When I remove "localhost" from the command I get the same error.
Mad Wombat
2010-05-02 19:25:25
The solution seems to be to replace 1.1.0 lein-swank with 1.2.0-SNAPSHOT in the dev-dependencies. Then it takes all the mentioned arguments.
Mad Wombat
2010-05-03 03:43:51