Emacs 24.4 下需要升级针对 7.x 版本 org mode 配置文件
文章目录
今天看到 org2blog 有最新版本,就更新了一下,然后在使用 org2blog 的时候,就提示说需要升级到 orgmode 8.x 版本。于是我从源里安装了最新的 orgmode,可是依然提示这个 orgmode 版本不对的问题。我用的是 Emacs 24.3 版本(里面自带是 7.x orgmode 版本),于是我下了一个最新的 Emacs 24.4 版本(里面自带的是 org mode 8.2.10 版本),这时再使用 org2blog,则提示如下错误:
File error: Cannot open load file, org-publish
仔细找了一找,原来是 org mode 升到到 8.x 版本后,有大量的函数或是变量名称被修改了,从而导致原来适用于 orgmode 7.x 版本的配置文件需要进行修改。在我的配置文件里,主要存在以下几种修改:
1. 针对 org-publish 函数的修改
如果你的 org 配置文件提示如下错误(针对 Emacs 24.3):
File error: Cannot open load file, org-publish
或是如下错误(针对 Emacs 24.4):
File error: Cannot open load file, no such file or directory, org-publish
则你需要把代码里的
(require 'org-publish)
修改为
(require 'ox-publish)
2. org-publish-org-to-html 函数的修改
如果你和我一样,使用 org mode 来导出笔记为 html 文档以方便阅读,则在升级到 orgmode 8.x 后用 M-x org-publish-current-project 来发布当前工程时,一定会碰到类似下面的错误:
Debugger entered--Lisp error: (void-function org-publish-org-to-html)
这时,记得把配置文件里的 org-publish-org-to-html 这个函数修改为 org-html-publish-to-html 这个新函数名称。
如果你需要把 org 文件发布成 LaTeX,同样也有类似的函数需要更新。
3. 在配置文件里内置 style 的修改
如果你和我一样,为了方便,让生成的本地 html 文件使用了 :style 关键字来指定 html 的样式,则需要把 :style 修改为 :html-head
To specify a style for the project :style keyword changes to :html-head
4. 吐槽
Emacs 界是不是从来不关心向下兼容的问题?起码我感觉我经常在升级的过程中,碰到一些莫名其妙的配置文件错误。
文章作者 cookwhy
上次更新 2015-03-02