"符号的函数定义无效:cl-defstruct"我的emacs脚本出错了

时间:2016-01-16 18:21:36

标签: emacs elisp

我正在尝试编写一个emacs脚本,以便通过以下方式从命令行调用:

emacs --script script.el

当我尝试在所述脚本中包含cl-defstructdefstruct时,我遇到了问题。例如,当我使用M-x eval-buffer在emacs中运行它时,以下工作正常,但在作为脚本运行时失败:

(cl-defstruct test slot)
(setq myTest (make-test))
(setf (test-slot myTest) "hello")
(message (test-slot myTest))

上面应该只吐出消息"你好"但是当作为脚本运行时,我看到以下错误:

Loading 00debian-vars...
Loading /etc/emacs/site-start.d/50dictionaries-common.el (source)...
Loading debian-ispell...
Loading /var/cache/dictionaries-common/emacsen-ispell-default.el (source)...
Loading /var/cache/dictionaries-common/emacsen-ispell-dicts.el (source)...
Loading /etc/emacs/site-start.d/50python-docutils.el (source)...
Symbol's function definition is void: cl-defstruct

最后一行特别令人惊讶。有什么想法为什么cl-defstruct宏在这种情况下不会被识别?谢谢!

1 个答案:

答案 0 :(得分:2)

尝试在脚本顶部添加(require 'cl-lib)