我使用 Emacs 进行 clojure 开发,因为 Swank-clojure 是一个很棒的工具。但是,一旦我在 slime-repl 缓冲区上遇到错误,错误仍然存在,尽管我已修复它或者它不再存在。
繁殖方式:
- 使用 leiningen 创建一个 clojure 项目。
$lein new myproject
. - 在 core.clj 中,定义一个函数
(defn f [] (+ 1 1))
- 开始一个时髦的clojure。
M-x clojure-jack-in
. - 在 slime-repl 缓冲区上,评估
(f)
. 当然它会返回2
。 - 在 slime-repl 缓冲区上,评估
(g)
. 当然会出错Unable to resolve symbol: g in this context
- 之后,当我尝试评估 slime-repl 缓冲区中的任何内容时,总是会出现此错误。Cc Ck 没有帮助。因此,当我在 slime-repl 缓冲区出现错误时,我总是重新启动 Emacs.app。
我的环境:
Mac OS 10.7.3,Cocoa Emacs 23.4.1,clojure-mode 1.11.5(来自果酱),leiningen 1.7.0。