Po zaktualizowaniu Emacsa 25.1 do 26.1 tryb org nie działa

12

Nie jestem ekspertem od Emacsa, ale org-modeczęsto go używam . Skonfigurowałem Emacsa do rozpoznawania .orgplików. Po aktualizacji do wersji 26.1 Emacs nie tylko rozpoznaje .orgpliki:

File mode specification error: (file missing Cannot open load file No such file or directory ob-sh)

ale nie można nawet zmienić na org-mode. M-x org-modedaje:

Cannot open load file No such file or directory ob-sh

Nie przeniosłem mojego .emacspliku ani .emacs.dfolderu.

Dowolny pomysł?

Martin Petersen
źródło
Po przeniesieniu pliku .emacs i folderu .emacs.d do innej lokalizacji wszystko działa dobrze. Nadal chciałbym wiedzieć, co zrobiłem źle.
Martin Petersen
Do twojej wiadomości nie zrobiłeś nic złego. To była przełomowa / niezgodna wstecz zmiana w trybie org i podejrzewam, że wiele osób uaktualniających się do Emacsa 26 zostało (i nadal będzie) potkanych przez to.
phils
Oto wskazówka niezwiązana z twoim problemem: Zamiast zejść .emacsz drogi, po prostu zacznij od emacs --no-init-file(na macOS:) open -a Emacs --args --no-init-file. ( --no-init-filemożna skrócić do -q.) Istnieje również flaga --no-site-filezatrzymująca ładowanie plików specyficznych dla witryny.
Harald Hanche-Olsen

Odpowiedzi:

16

Emacs 26.1 zawiera znacznie nowszą wersję trybu org niż 25.1. ob-shzmieniono nazwę na ob-shellna org-mode 8.2, więc musisz dostosować dowolną konfigurację w .emacs ob-sh, jak opisano w usunięciu ob-sh :

** Niezgodne zmiany

*** ob-sh.elzmieniono nazwę na ob-shellMoże to wymagać dwóch zmian w konfiguracji użytkownika.

  1. W org-babel-do-load-languageszmień (sh . t)na (shell . t).

  2. Edytuj local.mkpliki, aby zmienić wartość, BTEST_OB_LANGUAGESaby usunąć „sh” i dołączyć „shell”.

Najprawdopodobniej trzeba szukać config dla wywołania org-babel-do-load-languagesi zmiany sh, aby shellw towarzyszącym liście języków.

rpluim
źródło
Dzięki za pomoc. Szukałem .emacs i .emacs.d w poszukiwaniu łańcucha ob-sh, ale nie mogłem go znaleźć. W każdym razie przywrócę konfigurację krok po kroku.
Martin Petersen
Może to być „sh” zamiast „ob-sh”. Podział konfiguracji na dwie części powinien znaleźć dokładny problem.
rpluim
emacs --debug-initMoże także wskazać linię, która powoduje problemy.
rpluim
2
@MartinPetersen Poszukaj w swojej konfiguracji wywołania org-babel-do-load-languageslub ustawienia zmiennej org-babel-load-languages. Musisz zmienić shna shellna powiązanej liście języków. Jeśli możesz potrzebować obsługiwać zarówno stare, jak i nowe warianty, daj nam znać, ponieważ można to również ustawić.
phils
Dzięki wam wszystkim mogłem rozwiązać problem. Wszystko działa teraz zgodnie z przeznaczeniem. Jeszcze raz dziękuję za tonę.
Martin Petersen