我让 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 一起正常工作。现在我收到消息:
字节码:符号作为变量的值是 void:org-babel-tangle-lang-exts
我在目录中找到了任何提到 org-babel 的内容,只出现了上面的表达式。再加上当我摆脱它时加载了我的其余初始化文件代码这一事实让我认为这段代码是问题所在。但是为什么 org-mode 会引用我没有的功能呢?
运行 emacs --debug-init 给出:
调试器进入--Lisp 错误: (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) ; 在缓冲区位置读取 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) ; 读取缓冲区位置 1464 load-with-code-conversion("/home/kca/.emacs.d/init.el" "/home/kca/.emacs.d/init.el" tt) load("/home /kca/.emacs.d/init" tt) #[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。谢谢你的帮助!