У меня 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, прежде чем перезапустить. Теперь я получаю сообщение:
байт-код: значение символа как переменной недействительно: org-babel-tangle-lang-exts
Я искал в каталоге все, что упоминает org-babel, и появилось только приведенное выше выражение. Это плюс тот факт, что остальная часть моего кода init-файлов загрузилась, когда я избавился от него, заставляет меня думать, что проблема в этом коде. Но почему org-mode ссылается на функцию, которой у меня нет?
Запуск emacs --debug-init дал:
Отладчик ввел ошибку Лиспа: (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 т) ; Чтение в позиции буфера 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" t t) load("/home /kca/.emacs.d/init" t t) #[nil "\205\264
Я попытался проверить, загружается ли правильная версия организационного режима:
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. Спасибо за вашу помощь!