运行emacs lisp脚本

时间:2017-08-19 17:11:48

标签: debugging emacs

我找到了script,我需要运行它。

我试图像这样运行它(我使用了eval-buffer命令):

(require 'subr-x)
(require 's)
(load-file "~/git-graph.el")
(require 'git-graph)
(git-graph/to-graphviz-pretty
 "git"
 (git-graph/git-graph-head
  "E:/GitStack/repositories/gitRepo.git"
  "master"))

但是得到一个错误:

Loading e:/emHome/git-graph.el (source)...done
let*: Symbol’s function definition is void: first

picture

请告诉我有什么问题。我怎么能运行这个脚本?

我是新手。

1 个答案:

答案 0 :(得分:0)

为什么要两次加载库git-graph

  1. 如果您只删除load-library行或require行,会发生什么情况 - 您是否仍然收到错误?

  2. 使用原始代码,在load-library行之后插入此行:

    (message "After load-library")
    

    并在require行之后插入此行:

    (message "After require")
    

    查看您收到的消息:检查缓冲区*Messages*。这应该告诉你哪个加载库的尝试(如果有的话)导致了错误。也许在库中查找文本first,看看你是否注意到任何有趣的东西。

    如果看起来问题不是来自加载该库,那么它可能来自require之后的表达式。

  3. 执行M-x toggle-debug-on-error,然后执行M-x eval-buffer,并在此处发布*Backtrace*输出。这将向我们展示错误引发的位置。

  4. 您还可以尝试M-x debug-on-entry git-graph/to-graphviz-pretty并使用d(或c跳过调试器以跳过给定步骤的详细信息)。这将最终显示哪些代码引发了错误。