[英]Emacs, Clojure, lein and nrepl: *nrepl* buffer shows up blank
我用lein
创建了一个新项目。 我在emacs中打开core.clj
。 我确保运行Mx clojure-mode
和Mx nrepl-enable-on-existing-clojure-buffers
。
然后我运行Mx nrepl-jack-in
并在我得到的迷你缓冲区中
启动nREPL服务器...
然后是一条消息,例如:
连接的。 如果你优化一切,你一定会感到不快。 - 唐纳德克努特
我看到缓冲区名称是*nrepl*
,但缓冲区不包含Clojure Repl,而是完全空白。
如果我输入任何东西(意思是任何东西),我得到:
错误的类型参数:integer-or-marker-p,nil
如果我切换回我的core.clj
缓冲区,并点击Cc Cl
,我得到迷你缓冲区中缓冲区中最后一个函数的命名空间名称。 如果我将光标放在函数定义的末尾并点击Cx Ce
,我得到:
CompilerException java.lang.RuntimeException:无法在此上下文中解析符号:x,编译:(NO_SOURCE_PATH:1:1)
我尝试使用lein new project-name
制作一个没有依赖关系的新lein目录,并尝试了与上面相同的步骤并获得了相同的结果。
我还能检查什么和/或我做错了什么?
编辑:附加信息
当我在空的*nrepl*
缓冲区中键入内容并尝试在我键入的内容上按Cx Ce
时,在迷你缓冲区中我收到消息:
没有Lisp子进程; 看变量`inferior-lisp-buffer'
另外,我正在运行:
GNU Emacs 24.3.1
Leiningen 2.1.2 on Java 1.6.0_27 OpenJDK 64位服务器VM
我刚刚在自己的设置上解决了这个问题。 将.emacs.d移动到备份位置,并制作.emacs的备份副本。 使只有如下的新的.emacs:
(require 'package)
(add-to-list 'package-archives
'("marmalade" .
"http://marmalade-repo.org/packages/"))
(package-initialize)
(require 'clojure-mode)
(require 'nrepl)
通过运行Mx package-list-packages
并安装各自的条目来安装nrepl和clojure-mode后,您就可以使用nrepl了。
将您的自定义.emacs一次添加回一个逻辑单元,您应该能够找出冲突的位置并将其消除。 怀疑与粘液/ swank有关的任何事情。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.