我将Emacs 25.1更新为26.1后,org-mode不再起作用


12

我不是Emacs专家,但我org-mode经常使用Emacs 。我配置了Emacs来识别.org文件。更新到26.1版后,Emacs不再能够识别.org文件了:

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

但甚至无法更改为org-modeM-x org-mode给出:

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

我没有移动.emacs文件或.emacs.d文件夹。

任何的想法?


将.emacs文件和.emacs.d文件夹移动到另一个位置后,一切正常。我仍然想知道我做错了什么。
马丁·彼得森

仅供参考,您没有做错任何事情。这是组织模式中的一项重大的/向后不兼容的更改,我怀疑很多升级到Emacs 26的人已经(并将继续被)绊倒。
菲尔斯(Phils)

这是一条提示,与您的问题无关:与其相伴而行,而不必.emacsemacs --no-init-file(在macOS:上open -a Emacs --args --no-init-file)开始。(--no-init-file可以缩写为-q。)还有一个标志,--no-site-file用于停止加载特定于站点的文件。
Harald Hanche-Olsen

Answers:


16

Emacs 26.1带有比25.1更高的组织模式版本。ob-shob-shell在org-mode 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并更改shshell


谢谢你的帮助。我在.emacs和.emacs.d中搜索了字符串ob-sh,但找不到。无论如何,我将逐步恢复我的配置。
马丁·彼得森

可能是“ sh”而不是“ ob-sh”。平分您的配置应该找到确切的问题。
rpluim

emacs --debug-init可能会查明引起问题的线路。
rpluim

2
@MartinPetersen在您的配置中查找org-babel-do-load-languages对变量的调用或设置org-babel-load-languages。您需要在关联的语言列表中更改shshell。如果您可能需要支持两种新老变种,让我们知道,因为这也可以安排。
菲尔斯

感谢大家,我得以解决此问题。现在一切正常。再次感谢您。
马丁·彼得森
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.