Emacs,Clojure,lein和nrepl:*nrepl*buffer显示空白

DJG*_*DJG 6 emacs clojure leiningen nrepl

我创建了一个新项目lein.我core.clj在emacs中打开.我确保跑M-x clojure-mode,并且M-x nrepl-enable-on-existing-clojure-buffers.

然后我跑,M-x nrepl-jack-in并在我得到的迷你缓冲区

启动nREPL服务器...

然后是一条消息,例如:

连接的.如果你优化一切,你一定会感到不快. - 唐纳德克努特

我看到缓冲区名称是*nrepl*,但缓冲区不包含Clojure Repl,而是完全空白.

如果我输入任何东西(意思是任何东西),我得到:

错误的类型参数:integer-or-marker-p,nil

如果我切换回我的core.clj缓冲区,并点击C-c C-l,我得到迷你缓冲区中缓冲区中最后一个函数的命名空间名称.如果我将光标放在函数定义的末尾并点击C-x C-e,我得到:

CompilerException java.lang.RuntimeException:无法在此上下文中解析符号:x,编译:(NO_SOURCE_PATH:1:1)

我尝试使用没有依赖项的新lein目录,lein new project-name并尝试上述相同的步骤并得到相同的结果.

我还能检查什么和/或我做错了什么?

编辑:附加信息

当我在空*nrepl*缓冲区中C-x C-e键入内容并尝试按下我键入的内容时,在迷你缓冲区中我收到消息:

没有Lisp子进程; 看变量`inferior-lisp-buffer'

另外,我正在运行:

GNU Emacs 24.3.1

Leiningen 2.1.2 on Java 1.6.0_27 OpenJDK 64位服务器VM

noi*_*ith 3

我刚刚在自己的设置中解决了这个问题。将 .emacs.d 移至备份位置,并制作 .emacs 的备份副本。创建一个新的 .emacs 文件,包含以下几行:

(require 'package)

(add-to-list 'package-archives 
    '("marmalade" .
      "http://marmalade-repo.org/packages/"))

(package-initialize)

(require 'clojure-mode)

(require 'nrepl)
Run Code Online (Sandbox Code Playgroud)

通过运行M-x package-list-packages和安装各自的条目来安装 nrepl 和 clojure-mode 后,您将能够使用 nrepl。

一次将您的自定义 .emacs 添加回一个逻辑单元,您应该能够找出冲突所在并消除它。对任何与史莱姆/炫耀有关的事物保持怀疑。