我的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]
答案 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。