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