組織モード9:コードブロックを評価できません


45

Emacsの設定は、.orgソースブロックを.elファイルにもつれたファイルの中にあります。私はソースブロックを評価できましたC-c C-c

今日、org elpaからorg-modeバージョン9に更新し、次のようなソースブロックを評価しました

#+BEGIN_SRC emacs-lisp :tangle yes
(setq org-export-coding-system 'utf-8)
#+END_SRC

C-c C-c次のメッセージを出力します

このemacs-lispコードブロックの評価は無効です。

私にはinit.el私はすでにORG-バベルの言語を定義しています:

(org-babel-do-load-languages
'org-babel-load-languages
'((emacs-lisp . t)
  (org . t)
  (sh . t)))

org-modeのストックEmacsバージョンをロードするとC-c C-c、期待どおりにもつれます。組織モード9の変更ログでこれに関する変更を見つけることができませんでした。

組織モード9でコードブロックの評価を有効にする方法


1
使用するときに同じ問題がありますorg-babel-execute-src-blockか?
バートフレッド

org-modeを再インストールします(.emacs.d/elpa最初からorgフォルダーを削除します)。その問題は既に解決されている可能性があります。lists.gnu.org
archive

@bertfredは、<kbd> Cc Cc </ kbd>と同じ動作になります。
-rrogg

1
私は同じ問題を抱えてハード再インストールする必要がありました(このようなものですが、イライラしてメモを取らなかったため覚えていません:アンインストール、emacsを終了、elpaから削除、emacsを起動、elpaからインストール、emacsを終了、emacsを開始))
amitp

この問題が再発したようだと報告するのは非常に悲しい。以下は、ベアマシンへの新規インストールからのものです。ソースブロックの評価は無効になっており、有効にする方法がわかりません。組織バベルは死んでいるようです。(emacs-version)「GNU Emacs 25.1.1(x86_64-apple-darwin13.4.0、NS appkit-1265.21 Version 10.9.5(Build 13F1911))of 2016-09-17」(org-version)「9.0.5」
Reb.Cabin

回答:


42

私は、この問題が原因で発生し考える変更org-babel-check-confirm-evaluate機能マクロから。org-mode新しいコードをコンパイルするときにロードしている(したがって古いマクロも)場合、新しい関数ではなく古いマクロが表示されます。

他の人が指摘しているように、アンインストールorg-modeしてEmacsを再起動し(ロードせずにorg-mode)、再インストールすると問題が解決します。.elcコンパイル済みファイルを削除して、で再コンパイルすることもできますbyte-recompile-directory


私はまったく同じ問題を抱えていて、なぜそれが機能しなかったのか理解できませんでした
-Joafigue

1
はい、これは良い説明と解決策です。しかし、@בנימןbyיליによる以下の解決策は、org-modeのアンインストール/再インストールよりもはるかに簡単でした。
modulitos

38

@erikstokesについて詳しく説明するには:

rm ~/.emacs.d/elpa/ORGDIRNAME/*.elc

ここORGDIRNAMEで、コアogrmodeディレクトリの名前です。emacsを再起動すると、org-babelコードブロックを実行できます。


1
これはorg-9.1.13でうまくいきました。再インストールよりも高速です。 組織ディレクトリ名はおそらく異なることに注意してください
ephsmith

1
これはspacemacsに私のために働いた
プラサド

4

org-plus-contribパッケージをアンインストールして再インストールすると解決しました。


同じバージョンまたはそれ以降のバージョンを再インストールしますか?
ジャンピエール

現在のバージョンを削除し、
Melpa

3

Emacs 25.2(9.0)で使用しているものorg-plus-contrib

  • org-babel-execute-src-block と同じエラーを与えた C-c C-c
  • .emacs.d/elpaフォルダを削除して再インストールしても修正されませんでした
  • しかしM-x package-delete [RET] org-plus-contribM-x package-install [RET] org-plus-contrib DIDで再インストールすると修正されます

0

デフォルトでは、Orgはemacs-lisp 'src'コードブロックのみを実行可能にします。

org-babel-no-eval-on-ctrl-c-ctrl-c 変数を使用して、「Cc Cc」キーバインディングからコードブロックの実行を削除できます。


-1

次のコードをに追加する必要があると思います.emacs.d/init.el

;; ditaa
(require 'ob-ditaa)
(setq org-confirm-babel-evaluate nil)
(setq org-ditaa-jar-path
  "/path/to/ditaa-0_10.jar")
(org-babel-do-load-languages
  'org-babel-load-languages
  '((ditaa . t)
    (dot . t)))

起動が遅くなるため、一般的には、自分のinitファイルにあらゆる種類のファイルを追加しないことをお勧めrequireます。
ステファン

今までそれを知りませんでした。アドバイスをありがとう!
江端拓也
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.