我之前使用 Emacs 很顺利,但是当我重启电脑后,这段代码阻止了我的初始化文件加载:
(require 'ob-clojure)
(org-babel-do-load-languages
'org-babel-load-languages
'((emacs-lisp . nil)
(R . t)
(python . t)
(js . t)
(scheme . t)
(C . t)
(clojure . t)
(lilypond . t)
(octave . t)))
我不知道为什么会出现这种情况。在重新启动前,我已经成功地使babel与R配合使用。现在我收到以下消息:
byte-code: Symbol's value as variable is void: org-babel-tangle-lang-exts
我在目录中搜索了所有提到org-babel的内容,只有上述表达式出现了。除此之外,当我删除它时,我的其余init-files代码都可以加载,这让我认为这段代码是问题所在。但是,为什么org-mode会引用我没有的函数呢?
运行emacs --debug-init后得到以下结果:
Debugger entered--Lisp error: (void-function org-babel-do-load-languages) (org-babel-do-load-languages (quote org-babel-load-languages) (quote (... ... ... ... ... ... ... ...))) eval-buffer(#load<2>> nil "/home/kca/.emacs.d/init-org.el" nil t) ; Reading at buffer position 3080 load-with-code-conversion("/home/kca/.emacs.d/init-org.el" "/home/kca/.emacs.d/init-org.el" nil nil) load("init-org") eval-buffer(# nil "/home/kca/.emacs.d/init.el" nil t) ; Reading at buffer position 1464 load-with-code-conversion("/home/kca/.emacs.d/init.el" "/home/kca/.emacs.d/init.el" t t) load("/home/kca/.emacs.d/init" t t) #[nil "\205\264
我尝试检查是否加载了正确的org-mode版本:
M-x load-library
org
M-x org-version
=> Org-mode version 7.7
以下是在init.el中加载它的代码:
(add-to-list 'load-path (concat conf-dir "org-7.7/lisp"))
(add-to-list 'load-path (concat conf-dir "org-7.7/contrib/lisp"))
我正在使用Emacs 23.2和Org-7.7。感谢您的帮助!