Исключение при подключении к swank-серверу

При попытке M-x slime-подключиться к шикарному серверу, запущенному в приложении 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-server с (swank.swank/start-server :host "localhost" :port 4005) из приложения.

Моя среда:

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

Я также должен упомянуть, что M-x clojure-jack-in работает нормально, но мне нужно иметь возможность подключаться удаленно.

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


person kliron    schedule 26.12.2011    source источник


Ответы (2)


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

person Tavis Rudd    schedule 28.01.2012

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

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

java.lang.Exception: Error reading swank message
person kliron    schedule 26.12.2011