为什么clojure会在没有任何设置的情况下为我的Aquamacs开始使用'M-x slime'?

时间:2010-08-23 19:09:05

标签: emacs clojure slime aquamacs elpa

我的Mac上运行了Aquamacs。

我安装了ESK for Aquamacs 并在〜/ .emacs.d / elpa安装了ELPA。使用ELPA,我安装了clojure-mode / clojure-est-mode / slime / slime-repl / swank-clojure。

问题在于,当我运行'M-x slime'时,就会运行clojure。为什么是这样?我很好奇,因为我的.emacs中没有任何关于粘液的设置,甚至在/ Users / smcho / Library / Preferences / Aquamacs Emacs / {Preferences.el,customizations.el}中也没有。我的意思是,我没有(setq inferior-lisp-program“clojure”)或其他东西。

或者,它与我的'swank-clojure'安装有关吗?我在 inferior-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]

2 个答案:

答案 0 :(得分:4)

这是因为swank-clojure.el,一个弃用的elisp程序。根据我的post here,请不要在下一个问题上使用它。它可能有错误,因此不适合使用。在开始使用M-x slime-connect时,请使用lein swank

答案 1 :(得分:1)

正如Isaac所说,swank-clojure.el为clojure设置了'slime-lisp-implementation'(简而言之,这是一种在类路径中使用swank-clojure启动java的方法,以便可以启动swank)。然后粘液连接到此端口,您将获得repl。

这种方法的问题在于,您需要预先设置类路径。对于您想要处理的每个项目来说,这都很繁琐。因此,最好的方法是使用M-x swank-clojure-project或lein swank然后使用M-x slime-connect。我更喜欢swank-clojure-project。