2011-09-25 5 views
7

Emacs가 잘 작동하고 컴퓨터를 다시 시작했습니다. 이제이 코드 블록은 내 init-file을로드하지 못하게합니다.바이트 코드 : 변수의 기호 값은 void입니다. 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))) 

나는 왜 그런지 알 수 없습니다. 내가 다시 시작하기 전에 나는 R과 잘 작동하도록 바벨을 얻었다. 지금은 메시지가 :

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

나는 조직 - 바벨을 언급 아무것도에 대한 디렉토리를 grep'd 만 위의 식을 내놓았다. 나머지는 내 init-files 코드가로드 될 때로드된다는 점이이 코드가 문제라고 생각하게 만듭니다. 하지만 org-mode는 내가 가지고 있지 않은 기능을 말하는 것일까?

실행 이맥스 --debug-초기화가 준 :

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

올바른 조직 모드 버전이 로딩 있다면 내가 확인하려고 : 여기

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을 사용하고 있습니다. 당신의 도움을 주셔서 감사합니다!

답변

9

사실, 문제는 내가 org 매뉴얼 지침을 이해하지 못했다는 것이 었습니다. 외관상으로는, 프로그래밍 능력을 익히기 위해서 (org-install 필요)(내각이 필요합니다)을 제 init 파일에 넣어야했습니다. 그래도 R이 어떻게 바벨에서 일하게 만들지 모르겠다. 오, 잘 됐네! # org-mode irc 채널의 모자 끝 부분.

2

다시 재부팅하십시오. 그 다음에 나머지 부분을 읽으면 도움이되지 않는다면 ...

init 파일의 이진 검색을 사용하여로드중인 코드를 확인하십시오.

문제 코드에 대한 소스 코드 (*.el, *.elc 아님)를로드했는지 확인하십시오.

debug-on-errornil으로 설정하면 오류의 컨텍스트에 대해 알려주는 백 트레이스를 얻을 수 있습니다.

오류가 일부 외부 패키지에 완전히 포함되어 있으면 해당 패키지의 모든 파일이 동일한 패키지 버전인지 확인하십시오.

변경 한 것만 다시 시작했다면 문제는 환경 변수에있는 것일 수 있습니다. 하나의 추측은 어떤 이유로 변수 load-path에 올바른 값이 없기 때문에 필요한 모든 파일을로드하지 못한다는 것입니다. 아니면 패키지의 일부 코드를 옮겼을 까?

HTH. 문제에 대해 더 많이 알아내는쪽으로 시작해야합니다.