自从我几天前在我的emacs上更新cider到CIDER 0.6.0alpha(包装:20140318.1539)以来,我一直无法运行cider-jack-in。
如果我尝试使用M-x cider-jack-in,我会在消息缓冲区中出现以下错误
Wrong type argument: stringp, nil
如果我从lisp缓冲区运行命令,我会得到以下backtrace
Debugger entered--Lisp error: (wrong-type-argument stringp nil)
find-file-name-handler(nil file-remote-p)
file-remote-p(nil)
start-file-process-shell-command("nrepl-server" "*nrepl-server*<2>" "lein repl :headless")
cider-jack-in()
eval((cider-jack-in) nil)
eval-last-sexp-1(nil)
eval-last-sexp(nil)
ad-Orig-call-interactively(eval-last-sexp nil nil)
call-interactively(eval-last-sexp nil nil)
查看调试器中的源代码表明,start-file-process-shell-command的代码多次调用file-remote-p,并将default-directory作为参数。
现在,我不确定这是否有用,因为我已经离开了我的深度。但是如果我尝试在源缓冲区上评估default-directory,则返回一个非零值(“/usr/share/emacs/24.3/lisp/”)。
我试图擦除我的.emacs.d目录并重新安装cider和clojure模式,但我仍然遇到同样的问题,我还没有看到任何其他线程在cider github页面上讨论这个特定的行为。所以看起来它与我的环境有某种关系。
非常感谢有关如何解决此问题的任何帮助。
桑蒂。