조직 모드 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

with C-c C-c다음 메시지 를 인쇄합니다

이 emacs-lisp 코드 블록의 평가는 비활성화되어 있습니다.

init.elorg-babel의 언어를 이미 정의했습니다.

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

org-mode의 stock Emacs 버전을로드하면 C-c C-c예상대로 얽힐 수 있습니다 . org-mode 9의 변경 로그에서 이에 관한 변경 사항을 찾을 수 없습니다.

조직 모드 9에서 코드 블록의 평가를 활성화하는 방법은 무엇입니까?


1
사용할 때도 같은 문제가 org-babel-execute-src-block있습니까?
bertfred

org-mode를 다시 설치하십시오 ( .emacs.d/elpa처음 부터 org 폴더 삭제 ).이 문제는 이미 해결되었을 수 있습니다. list.gnu.org/archive/html/emacs-orgmode/2016-11/msg00054.html
VanLaser

@bertfred는 <kbd> Cc Cc </ kbd>와 같은 동작을합니다.
rrogg

1
나는 같은 문제가 있었고 강제로 다시 설치해야했습니다 (이와 같은 것이지만 좌절하고 메모를하지 않았기 때문에 기억하지 않습니다 : 제거, emacs 종료, elpa에서 삭제, emacs 시작, elpa에서 설치, emacs 종료 , start emacs))
amitp

이 문제가 다시 발생한 것으로보고되어 매우 슬 m습니다. 다음은 베어 머신에 새로 설치 한 것입니다. 소스 블록 평가가 비활성화되어 있으며이를 활성화하는 방법을 모르겠습니다. 오르간 바벨이 죽었을 것 같습니다. (emacs- 버전) "2016-09-17의 GNU Emacs 25.1.1 (x86_64-apple-darwin13.4.0, NS appkit-1265.21 버전 10.9.5 (빌드 13F1911))"(org-version) "9.0.5"
Reb. Cabin

답변:


42

나는이 문제가 발생합니다 생각 변화org-babel-check-confirm-evaluate함수에 대한 매크로에서. 당신이있는 경우 org-mode(따라서 기존의 매크로) 새 코드를 컴파일 할 때로드, 대신 새로운 기능의 이전 매크로를 본다.

다른 사람들이 org-modeEmacs 다시 시작 (로드하지 않고 org-mode)을 제거 하고 다시 설치하면 문제가 해결됩니다. 컴파일 된 .elc파일을 삭제 하고로 다시 컴파일 할 수도 있습니다 byte-recompile-directory.



1
예, 이것은 좋은 설명과 해결책입니다. 그러나 @ בנימן הגלילי하여 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 패키지를 제거하고 다시 설치했습니다.


동일한 버전 또는 이후 버전을 다시 설치 하시겠습니까?
JeanPierre

현재 버전을 제거하고 Melpa에서 최신 설치
zeltak

3

Emacs 25.2 (9.0) 및 다음을 사용하는 경우 org-plus-contrib:

  • org-babel-execute-src-block 나에게 같은 오류를 주었다 C-c C-c
  • .emacs.d/elpa폴더를 삭제 하고 다시 설치해도 문제가 해결되지 않았습니다
  • 그러나 DID로M-x package-delete [RET] org-plus-contrib 다시 설치하면 문제가 해결됩니다.M-x package-install [RET] org-plus-contrib

0

기본적으로 조직은 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)))

나는 일반적으로 권하고 싶습니다 에 대한 모든 종류의 추가 require는 시작 속도가 느려집니다 때문에, 하나의 init 파일을.
Stefan

나는 지금까지 그것을 몰랐습니다. 충고 감사합니다!
Takuya Ebata
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.