私は、同じスワンクインスタンスへの2つのemacs /スライムを接続できますか?
質問
私はLeiningenを経由スワンクを起動したとき、それは次のスライムの接続を受け入れ、私が行くオフ。私は実際にインスタンスが同じスワンクインスタンスに接続いくつかのemacsを持っていると思います。私はこれを行うことができますか?私はLeiningenを介してこれを行うことができますか?
解決
さて、あなたは(わからない...または多分それはデフォルトでは必須です)、その後(require 'swank.swank)
、通常はあなたの最初のSLIMEを開始することができ、(swank.swank/start-repl port)
でport
を行い、いくつかのポート番号に置き換えて、あなたは、新たにそれにSLIMEの2番目のインスタンスを接続することができますREPLを作成します。
私は1つのEmacsは最初のEmacsでlein swank
で開始REPL、(swank.swank/start-repl 4006)
に接続すると、ちょうど今それをやった、第二のEmacs(ポート番号として4006を提供する)でのMxスライム接続、その後、私はこれを行うことができます:
; first Emacs
(def x 5)
; second Emacs
x ; evaluates to 5
(def y 1234)
; first Emacs
y ; evaluates to 1234
クール、ありませんか? : - )
更新:ああ、ところで - (swank.swank/start-repl)
はバックグラウンドで新しいREPLを起動し、ののあなたはそれを実行するために使用するREPLをブロックしません。戻り値はnil
あるので、私は新しいREPL ...
(アップデート2:私は、もはやわから程度だ削除。何か)
アップデート3:それは関係なく、元スワンクインスタンスが起動されたかの余分なクライアントを接続することを可能にするという点で、上記の方法は完全に一般的ですが、コマンドでスワンクを開始する方が便利かもしれません。
lein swank 4005 "localhost" :dont-close true
:dont-close true
が通過する場合は、ポートとホスト名の引数を明示的に言及しなければなりません。 4005
と"localhost"
はデフォルト値です。
これはスワンクから切断することが可能になり、後に再接続するだけでなく、同時にクライアントの数を接続することになります。
(私は答えながら、これが可能であることに気づい<のhref =「https://stackoverflow.com/questions/2752720/how-to-reconnect-to-slime-swank-clojure-session/2752861#2752861」 > Leiningenを-開始スワンクに再接続を有効にする方法については、この新しい質問を、突然:dont-close
が受け入れられるための同時接続の原因もだろうかどうかを確認するために私に起こった - そしてそれはありません)