2011-09-25 16 views
7

Tenía Emacs funcionando bastante bien y luego reinicié mi computadora. Ahora bien, este bloque de código me impide cargar mis archivos de inicio:byte-code: El valor del símbolo como variable es nulo: org-babel-tangle-lang-exts

(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))) 

No sé por qué sería esto. Había conseguido Babel para trabajar bien con R antes de reiniciar. Ahora me sale el mensaje:

byte-code: Symbol's value as variable is void: org-babel-tangle-lang-exts

I grep'd el directorio para nada mencionar org-babel y sólo la expresión anterior se acercó. Eso más el hecho de que el resto de mi código de archivos init cargado cuando me deshice de él me hace pensar que este código es el problema. Pero ¿por qué org-mode se estaría refiriendo a una función que no tengo?

Emacs en ejecución --debug-init dio:

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

Traté de comprobar si la versión en modo org derecha era de carga:

M-x load-library 
org 
M-x org-version 
=> Org-mode version 7.7 

Este es el código que en init.el es cargarlo:

(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")) 

Estoy usando Emacs 23.2 y Org-7.7. ¡Gracias por tu ayuda!

Respuesta

9

En realidad, el problema fue que no entendí las instrucciones del manual de organización. Aparentemente, tuve que poner (requerir 'org-install) y (requerir' ob-tangle) en mi archivo de inicio para obtener funciones de programación alfabetizadas. Aunque no estoy seguro de cómo conseguí que R trabaje en Babel antes. Oh, bueno, ahora funciona! Hat tip para edenc en el canal # irc org-mode.

2

Intente reiniciar de nuevo. Luego lea el resto aquí, si eso no ayudó ...

Utilice la búsqueda binaria de su archivo init para determinar exactamente qué código está cargando, ese es el problema.

Asegúrate de cargar el código fuente (*.el, no) para el código problemático.

Establezca debug-on-error en no nil, por lo que obtiene una traza inversa que le dice algo sobre el contexto del error.

Si el error está completamente incluido en algún paquete externo, asegúrese de que todos sus archivos para ese paquete sean para la misma versión del paquete.

Si lo único que cambió fue reiniciar, entonces quizás el problema esté en una variable de entorno. Una suposición es que, por alguna razón, su variable load-path no tiene el valor correcto, por lo que no está cargando todos los archivos que necesita. ¿O tal vez movió parte del código de ese paquete?

HTH. Debería comenzar a averiguar más sobre el problema.

Cuestiones relacionadas