Исключение при подключении к swank-серверу - PullRequest
4 голосов
/ 26 декабря 2011

При попытке M-x slime-connect к серверу swank, работающему в приложении clojure, я получаю приглашение пользователя>, но как только я начинаю набирать, разрывается соединение, когда приложение выдает:

exception in read loop
java.lang.RuntimeException: Invalid token: swank::

дальше вниз по стеку я вижу:

unreadable message: (:emacs-rex (swank:autodoc (quote ("ns" "" swank::%cursor-marker%)) :print-right-margin 80) "user" :repl-thread 4)

Когда я начинаю слизь, я получаю:

Versions differ: 2010-07-21 (slime) vs. 20100404 (swank). Continue? (y or n)   

Но это несоответствие должно быть в порядке .

У меня есть swank-clojure 1.3.3 в зависимостях моего проекта, и я также установил плагин leiningen. Я запускаю swank-сервер с (swank.swank/start-server :host "localhost" :port 4005) из приложения.

Мое окружение:

  • GNU Emacs 23.2.1 в Debian Squeeze (стабильный) amd64
  • slime установлен через репозитории debian
  • sun-java6-jre
  • leiningen 1.6.2
  • swank-clojure 1.3.3
  • clojure 1.3.0

Я должен также упомянуть, что M-X Clojure-Jack-In работает нормально, но мне нужно иметь возможность подключиться удаленно.

Может ли несоответствие версий быть виновником? Кто-нибудь использует аналогичную рабочую настройку?

Ответы [ 2 ]

2 голосов
/ 28 января 2012

Вам следует перейти на swank-clojure 1.4.0 и использовать версию slime, которая входит в комплект.В clojure-mode есть команда «clojure-jack-in», которая будет обрабатывать загрузку слизи, когда вы «втыкаете» из проекта clojure в swank.Все ошибки, которые вы видите, исчезнут.отключение слизи [-all] - правильный путь для выхода.

0 голосов
/ 26 декабря 2011

Я удалил Debian-версию slime и установил slime-repl через ELPA. Теперь все работает, хотя установка не удалась с ошибкой компиляции: lime-repl.el:122:39:Error: No setf-method known for slime-connection-output-buffer

Еще один вопрос: что такое «вежливый» способ выхода из слизи? Если я использую M-x slime-disconnect, это вызывает исключение в удаленном экземпляре swank-сервера:

java.lang.Exception: Error reading swank message
...