9

Emacsはかなりうまく機能していたので、コンピューターを再起動しました。このコードブロックにより、initファイルをロードできなくなります。

(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で正常に動作するようにbabelを取得していました。今、私はメッセージを受け取ります:

バイトコード:変数としてのシンボルの値は無効です:org-babel-tangle-lang-exts

org-babelについて言及しているディレクトリをgrepしたところ、上記の式だけが表示されました。これに加えて、それを取り除いたときに残りのinit-filesコードがロードされたという事実により、このコードが問題であると私は思います。しかし、なぜ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); バッファ位置での読み取り1464load-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"))

私はEmacs23.2とOrg-7.7を使用しています。ご協力いただきありがとうございます!

4

2 に答える 2

11

実は、組織のマニュアルの説明がわからなかったのが問題でした。どうやら、文芸的プログラミング機能を取得するには、( require'org-install)(require' ob-tangle)をinitファイルに入れる必要がありました。でも、どうやってRをバベルで働かせたのかはわかりません。ああ、それは今うまくいきます!#org-modeircチャネルでのedencのヒント。

于 2011-09-29T04:05:11.927 に答える
2

再起動してみてください。それでも役に立たなかった場合は、ここで残りを読んでください...

initファイルのバイナリ検索を使用して、問題のあるロードしているコードを特定します。

*.el問題のあるコードのソースコード(ではなく)を必ずロードしてください*.elc

debug-on-error非に設定するnilと、エラーのコンテキストについて何かを示すバックトレースが得られます。

エラーが外部パッケージに完全に含まれている場合は、そのパッケージのすべてのファイルが同じパッケージバージョンのものであることを確認してください。

変更したのが再起動だけだった場合、おそらく問題は環境変数にあります。load-path何らかの理由で変数に正しい値がないため、必要なすべてのファイルがロードされていないことが推測されます。または、そのパッケージのコードの一部を移動したのでしょうか。

HTH。問題についてもっと知ることに向けて始めるべきです。

于 2011-09-26T01:11:17.797 に答える