Moja konfiguracja Emacsa mieszka w .org
pliku, z którego splatam bloki źródłowe do .el
pliku. Mógłbym ocenić bloki źródłowe za pomocąC-c C-c
Dzisiaj zaktualizowałem wersję org-mode w wersji 9 z org elpa i teraz oceniam blok źródłowy jak
#+BEGIN_SRC emacs-lisp :tangle yes
(setq org-export-coding-system 'utf-8)
#+END_SRC
z C-c C-cdrukuje następujący komunikat
Ocena tego blokowania kodu emacs-lisp jest wyłączona.
W moim init.el
zdefiniowałem już języki dla org-babel:
(org-babel-do-load-languages
'org-babel-load-languages
'((emacs-lisp . t)
(org . t)
(sh . t)))
Jeśli załaduję standardową wersję trybu org Emacsa, mogę plątać się C-c C-czgodnie z oczekiwaniami. Nie mogłem znaleźć żadnych zmian w tym dzienniku zmian dla org-mode 9.
Jak włączyć ocenę bloków kodu w org-mode 9?
org-babel-execute-src-block
?.emacs.d/elpa
najpierw usuń folder organizacji ), ten problem mógł już zostać rozwiązany: lists.gnu.org/archive/html/emacs-orgmode/2016-11/msg00054.htmlOdpowiedzi:
Myślę, że ten problem jest spowodowany przez zmiany w
org-babel-check-confirm-evaluate
od makro do funkcji. Jeśliorg-mode
załadowałeś (a więc i stare makro) podczas kompilowania nowego kodu, zobaczy on stare makro zamiast nowej funkcji.Jak zauważyli inni odinstalowanie,
org-mode
ponowne uruchomienie Emacsa (bez ładowaniaorg-mode
), a ponowna instalacja naprawi problem. Możesz także usunąć skompilowane.elc
pliki i ponownie skompilowaćbyte-recompile-directory
.źródło
Aby rozwinąć na @erikstokes:
gdzie
ORGDIRNAME
jest nazwą podstawowego katalogu ogrmode. Uruchom ponownie emacsa i możesz teraz uruchamiaćorg-babel
bloki kodu.źródło
dla mnie odinstalowanie pakietu org-plus-contrib i ponowna instalacja go rozwiązały.
źródło
W Emacsie 25.2 (9.0) i przy użyciu
org-plus-contrib
:org-babel-execute-src-block
dał mi ten sam błąd co C-c C-c.emacs.d/elpa
folderu i ponowna instalacja nie naprawiły goM-x package-delete [RET] org-plus-contrib
i ponowna instalacja za pomocąM-x package-install [RET] org-plus-contrib
DID to naprawićźródło
Domyślnie Org włącza tylko bloki kodu emacs-lisp 'src' do wykonania.
org-babel-no-eval-on-ctrl-c-ctrl-c
Zmienna może być użyta do usunięcia wykonania bloku kodu ze skrótu klawiszowego „Cc Cc”.źródło
Myślę, że powinieneś dodać następujący kod w swoim
.emacs.d/init.el
.źródło
require
do własnego pliku init, ponieważ spowalnia starcie.