比如你的org-mode出现:
提示不能运行代码块,提示 evaluation of code-blocks xxx is disabled.
,然而你100%保证配置没问题
导出的时候不能导出,出现错误貌似是那句代码执行的类型不对,然而你也100%保证配置没问题
当然,你不是一个人,这里有很多和你一样头痛的老哥们:
opened 07:30AM - 03 Nov 16 UTC
closed 11:09AM - 14 Mar 22 UTC
High Priority
Org
Regression :-(
Should report upstream
- Bug tracker -
stale
I am trying to run code as a part of org-mode's code blocks. However, it keeps s… aying that evaluation of code-blocks is disabled. I am not sure where to go to turn this option on. Please let me know. Thank you in advance.
答案是有可能是你的.elc文件在搞鬼!!!我也不知道这个坑爹的问题是怎么来的,但是建议你们在升级org-mode之后,执行命令:
:spacemacs/recompile-elpa
重新编译.elc文件。
1 个赞
因为 Emacs 自带的旧版本 Org 在第一次编译的时候被加载导致编译字节码的时候出问题。
暗日 @lujun9972 的博客上有解释。然而忘了具体是哪个博客了
执行代码块时提示"Evaluation of this XXXX code-blockis disabled."
出现这个问题的原因是在新版本的org-mode中"org-babel-check-confirm-evaluate"从一个宏变成了函数.
但在编译新org-mode时,若加载了旧org-mode,则会将"org-babel-check-confirm-evaluate"看成宏而不是函数.
解决的方法是删掉org或org-plus-contrib中的所有elc文件,并用 byte-recompile-directory 重新编译一次.
2 个赞
重启 Emacs,然后 M-x package-reinstall
应该也可以。关键是要确保安装前不要打开 Org 文件,(org) Installation 中有一些说明
Important: you need to do this in a session where no .org file has been visited, i.e., where no Org built-in function have been loaded. Otherwise autoload Org functions will mess up the installation.
在 dired/ranger
里面 M-: (byte-recompile-directory "." nil t)
最方便,既不用手动删除 elc 文件,也不用把所有 package 都重现编译一遍。
1 个赞
………
这不是目录啊……
dired 和 ranger 都是 Emacs 的文件管理器……
要说目录的话,就是安装 org-mode 的那个目录。