2010-08-23 4 views
1

У меня есть Aquamacs, работающие на моем Mac.Почему clojure начинается с «M-x slime» для моих Aquamacs без какой-либо настройки?

Я установил ESK for Aquamacs и установил ELPA на ~/.emacs.d/elpa. С помощью ELPA я установил clojure-mode/clojure-est-mode/slime/slime-repl/swank-clojure.

Дело в том, что когда я запускаю «M-x slime», clojure запускается. Почему это? Мне интересно, поскольку у меня нет настроек для slime в моих .emacs и даже в/Users/smcho/Library/Preferences/Aquamacs Emacs/{Preferences.el, customizations.el}. Я имею в виду, что у меня нет (setq неполный-lisp-program "clojure") или что-то в этом роде.

Или это связано с моей установкой «swank-clojure»? Я вижу что-то подобное в буфере нижнего-lisp.

 
(require 'swank.swank) 
(swank.swank/ignore-protocol-version nil) 
... 
#ServerSocket ServerSocket[addr=0.0.0.0/0.0.0.0,port=0,localport=51847] 

ответ

5

Это из-за swank-clojure.el, устаревший Elisp программу. Не используйте его, согласно моему post here, по следующему вопросу. У него могут быть ошибки и, следовательно, они не подходят для использования. Вместо этого используйте M-x slime-connect, после того, как он начнется с lein swank.

+0

Я считаю, вы имеете в виду устаревшие, если только 'swank-clojure.el' не снизился в последнее время ... –

+0

Хороший улов :) исправлен! – Isaac

1

Как сказал Исаак, swank-clojure.el устанавливает «slime-lisp-реализаций» для clojure (короче говоря, способ запустить java с swank-clojure в classpath, чтобы начинать swank). Затем слизь соединяется с этим портом, и вы получаете ответ.

Проблема с этим подходом заключается в том, что вам нужно будет настроить классpath upfront. Это утомительно для каждого проекта, над которым вы хотите работать. Таким образом, лучший способ - использовать M-x swank-clojure-project или lein swank, а затем M-x slime-connect. Я предпочитаю проект swank-clojure.