1

我的 Mac 上运行着 Aqu​​amacs。

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

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

或者,它与我的“swank-clojure”安装有关吗?我在inferior-lisp缓冲区中看到了类似的东西。

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

2 回答 2

4

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

于 2010-08-23T19:55:57.293 回答
1

正如 Isaac 所说,swank-clojure.el 为 clojure 设置了“slime-lisp-implementations”(简而言之,一种在类路径中使用 swank-clojure 启动 java 以便可以启动 swank 的方法)。然后 slime 连接到这个端口,你就得到了 repl。

这种方法的问题在于,您需要预先设置类路径。对于您想要处理的每个项目,这都会变得乏味。因此,最好的方法是使用 Mx swank-clojure-project 或 lein swank,然后使用 Mx slime-connect。我更喜欢 swank-clojure-project。

于 2010-08-23T20:44:07.183 回答