Після оновлення Emacs 25.1 до 26.1 org-режим більше не працює


12

Я не що інше, як експерт Emacs, але Emacs використовую org-modeдосить часто. Я налаштував Emacs для повторної розпізнавання .orgфайлів. Після оновлення до версії 26.1 Emacs більше не розпізнає .orgфайли:

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

але навіть не може змінитися на org-mode. M-x org-modeдає:

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

Я не перемістив свій .emacsфайл чи .emacs.dпапку.

Будь-яка ідея?


Після переміщення файлу .emacs та папки .emacs.d в інше місце все працює нормально. Ще хотілося б знати, що я зробив не так.
Мартін Петерсен

FYI, ти нічого поганого не зробив. Це була переломна / назад несумісна зміна в org-режимі, і я підозрюю, що багато людей, які перейшли на Emacs 26, були (і продовжуватимуться) нею.
філс

Ось підказка, не пов’язана з вашою проблемою тут: Замість того, щоб .emacsвиходити з шляху, просто почніть з emacs --no-init-file(на macOS:) open -a Emacs --args --no-init-file. ( --no-init-fileможе бути скорочено до -q.) Існує також прапор, --no-site-fileякий зупиняє завантаження файлів, визначених для сайту.
Харальд Ханш-Олсен

Відповіді:


16

Emacs 26.1 поставляється із значно більш новою версією org-mode, ніж 25.1. ob-shбуло перейменовано ob-shellв режим org 8.2, тому вам потрібно буде відрегулювати будь-яку конфігурацію в .emacs ob-sh, що описано, як описано у видаленні ob-sh :

** Несумісні зміни

*** ob-sh.elПерейменований на ob-shellЦе може потребувати двох змін у конфігурації користувача.

  1. В org-babel-do-load-languages, зміни (sh . t)на (shell . t).

  2. Відредагуйте local.mkфайли, щоб змінити значення BTEST_OB_LANGUAGESдля видалення "sh" та включити "shell".

Ви , швидше за все , потрібно шукати свій конфіг для виклику org-babel-do-load-languagesі змін shдо shellу відповідному списку мов.


Спасибі за вашу допомогу. Я шукав .emacs і .emacs.d для рядка ob-sh, але не зміг його знайти. У будь-якому випадку я відновлю свою конфігурацію поетапно.
Мартін Петерсен

Це може бути «ш», а не «об-ш». Розбір вашої конфігурації повинен знайти точну проблему.
rpluim

Також emacs --debug-initможе точно вказати лінію, яка викликає проблеми.
rpluim

2
@MartinPetersen Знайдіть у своєму конфігурації виклик org-babel-do-load-languagesабо встановлення змінної org-babel-load-languages. Вам потрібно буде змінити , shщоб shellу відповідному списку мов. Якщо вам може знадобитися підтримка як старого, так і нового варіантів, повідомте нас, оскільки це також можна домовитись.
phils

Завдяки всім вам я зміг вирішити питання. Зараз все працює за призначенням. Знову дякую тону.
Мартін Петерсен
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.