Могу ли я подключить два эмакла / слитка к одному и тому же экземпляру Swank?

StackOverflow https://stackoverflow.com/questions/2374776

Вопрос

Когда я начну сумасшедшим через Лейнинген, он принимает следующую слизь соединение и выхожу. Я бы очень хотел иметь несколько экземпляров Emacs Connect к тому же экземпляру Swank. Я могу сделать это? Могу ли я сделать это через Лейнинген?

Это было полезно?

Решение

Ну, вы можете начать свое первое слизь обычно, затем (require 'swank.swank) (или, может быть, это требуется по умолчанию ... не уверен), сделайте (swank.swank/start-repl port) с участием port Заменил какой-то номер порта, и вы можете подключить второй экземпляр слизи до этой недавно созданной репре.

Я сделал это только сейчас, с одним эмаклами, соединяющимися с ref lein swank, (swank.swank/start-repl 4006) В первом Emacs, MX Slime-Connect во втором эмаклах (предоставление 4006 в качестве номера порта), то я мог бы сделать это:

; first Emacs 
(def x 5)

; second Emacs
x ; evaluates to 5
(def y 1234)

; first Emacs
y ; evaluates to 1234

Круто, нет? :-)

Обновление: ой, кстати - (swank.swank/start-repl) начинает новую замену на заднем плане и не Заблокируйте ref, вы используете для его выполнения. Возвращаемое значение nil, Итак, я не уверен, как убить новую замену ...

(Обновление 2: Удалено, что я больше не уверен.)

Обновление 3: в то время как вышеуказанный метод совершенно общий, в том, что это позволяет подключить дополнительный клиент независимо от того, как начался оригинальный экземпляр Swank, может быть удобнее начать Swank с командой

lein swank 4005 "localhost" :dont-close true

Аргументы порта и хоста имен должны быть упомянуты явно, если :dont-close true должен быть передан. 4005 а также "localhost" являются значениями по умолчанию.

Это позволит отключить от Swank и подключения позже, но также подключить ряд клиентов одновременно.

(Я только что заметил, что это возможно, отвечая Этот новый вопрос о том, как включить переподключения к Лейнингену начало Swank; Это внезапно произошло для меня, чтобы проверить, :dont-close также приведет к тому, что одновременные связи будут приняты - и это делает.)

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top