Emacs clojure.contrib与slime和次lisp程序问题

Emacs clojure.contrib与slime和次lisp程序问题,emacs,clojure,slime,Emacs,Clojure,Slime,我从slime repl中获得以下信息(未找到clojure.contib函数): 从控制台启动clojure时会出现以下情况(但在这里一切正常): 在我的.emacs中,我有以下内容: (setq inferior-lisp-program "java -cp /home/adr/clojure/cloj-1.2/clojure.jar:/home/adr/clojure/cloj-1.2/clojure-contrib.jar -server clojure.main") 我的clojur

我从slime repl中获得以下信息(未找到clojure.contib函数):

从控制台启动clojure时会出现以下情况(但在这里一切正常):

在我的.emacs中,我有以下内容:

(setq inferior-lisp-program "java -cp /home/adr/clojure/cloj-1.2/clojure.jar:/home/adr/clojure/cloj-1.2/clojure-contrib.jar -server clojure.main")
我的clojure罐子(1.2)位于“/home/adr/clojure/cloj-1.2”

一,;我是emacs的新手,一直在学习一些教程。一段时间以来,我一直试图使用Emacs中的clojure.contrib库,但“M-X slime”找不到clojure.contrib。求求你,救命

编辑:如果这有帮助,现在我看到使用M-X slime时有一条消息:

(progn (load "/home/adr/.emacs.d/elpa/slime-20100404/swank-loader.lisp" :verbose t) (funcall (read-from-string "swank-loader:init")) (funcall (read-from-string "swank:start-server") "/tmp/slime.4493" :coding-system "iso-latin-1-unix"))

Clojure 1.2.0
user=> java.lang.Exception: Unable to resolve symbol: progn in this context (NO_SOURCE_FILE:1)
Edit2:但如果我在目录中启动“lein swank”后使用M-X slime connect,则不会出现此类错误消息(尽管即使以“M-X slime connect”开头,在REPL中也找不到clojure contrib库(尽管leiningen将其作为依赖项下载))。

这一行:

(progn (load "/home/adr/.emacs.d/elpa/slime-20100404/swank-loader.lisp" :verbose t) (funcall (read-from-string "swank-loader:init")) (funcall (read-from-string "swank:start-server") "/tmp/slime.4493" :coding-system "iso-latin-1-unix"))
是通用的Lisp,不是Clojure,但由于您将
低级Lisp程序设置为Clojure,
slime
无法启动
swank
服务器

请参阅中的以下部分:

  • 与粘液连接
  • 嵌入
  • swank-clojure.el
您想要的功能可能在中,但不再推荐

由于您已经在使用ELPA:

add-to-list 'package-archives
         '("technomancy" . "http://repo.technomancy.us/emacs/") t)

M-x package-install ;(slime-repl)
M-x slime-connect

在我看来,我在REPL中使用了错误的方式“需要”库(由于我对clojure缺乏经验);使用以下语法时:

user=> (require 'clojure.contrib.string)
nil
user=> (clojure.contrib.string/blank? "asd")
false

所有库都正常(无论对非swank REPL使用“M-X slime”还是对swank服务器使用“M-X slime connect”)。所以这完全是我的错误(我在下面的答案中找到了关于我错误的提示:)

谢谢;我不确定这行代码来自哪里,因为在我的.emacs中没有类似的代码。我已经用ELPA安装了所有东西(不确定这是否相关)。谢谢;我试过了,但它一直抱怨symbol的软件包档案是无效的;这应该是我在这里遗漏的非常简单的东西。非常感谢你花时间来帮助我。
add-to-list 'package-archives
         '("technomancy" . "http://repo.technomancy.us/emacs/") t)

M-x package-install ;(slime-repl)
M-x slime-connect
user=> (require 'clojure.contrib.string)
nil
user=> (clojure.contrib.string/blank? "asd")
false