在负载上发生故障`nrepl-inspect`

时间:2013-08-26 01:16:17

标签: emacs clojure elisp text-editor

这是重新发布的帖子。我尝试在Emacs-liveClojure mailing列表中询问此问题,但猜测它不够相关。我的问题是:

  • 我打开emacs(在我的“〜/ .live-packs / -pack / init.el”文件中使用emacs-live - 初始化代码)
  • 我执行M-x nrepl-jack-in
  • 在repl中,我创建了一个var

    使用者> (def thing(+ 1 1))

    使用者>

  • 然后在事物var上,我运行C-c C-i。 Emacs给我的信息是:C-c TAB未定义。

但是,如果我打开 scratch 缓冲区,并且从live-pack init.el文件中手动运行A)下面的代码,我就可以执行C-c C-i in我的代表,并得到一个工作结果,如B)所示。

A)

(load-file "<some-directory>/nrepl-inspect/nrepl-inspect.el")
(define-key nrepl-mode-map (kbd "C-c C-i") 'nrepl-inspect)
(require 'nrepl-inspect)

B)

Type: class java.lang.Long 
Value: "2"
---
 Fields:
  "serialVersionUID" = 4290774380558885855
  "SIZE" = 64
  "value" = 2
  "TYPE" = long
  "MAX_VALUE" = 9223372036854775807
  "MIN_VALUE" = -9223372036854775808

因为我的所有其他live-pack init.el代码(主要是ritz)都成功执行,所以我必须假设nrepl-inspect代码失败了。有没有人遇到过这个?如何在加载emacs时直接启用此功能?作为emacs lisp的新手,无论如何都要调试这个问题?

谢谢

1 个答案:

答案 0 :(得分:1)

C-c C-iC-c TAB相同。 Emacs告诉你它没有绑定到你正在使用它的缓冲区中的任何命令。

如果您希望它在缓冲区*scratch*中执行的操作,那么请先查看它在*scratch*中的作用:C-h k C-c TAB

如果您愿意,可以将任何您喜欢的密钥绑定到该命令,包括C-c TAB