怎样在 emacs --batch 时加载最新的 orgmode,而不是 emacs 自带的?我试了多次,都只能得到 org 8.2,不能得到 org 9.1.
诚心求教,Google 搜不到相关问题,这问题解决不了没法畅快地用 org 写 nikola 博客了
怎样在 emacs --batch 时加载最新的 orgmode,而不是 emacs 自带的?我试了多次,都只能得到 org 8.2,不能得到 org 9.1.
诚心求教,Google 搜不到相关问题,这问题解决不了没法畅快地用 org 写 nikola 博客了
已经解决了,比较粗暴,把系统的 org 直接 sudo rm -rf
了
仍然寻求优雅的方案。
(defun eh-hack-load-path ()
;; Delete buildin org's PATH
(setq load-path
(cl-remove-if
#'(lambda (path)
(string-match "lisp/org$" path))
load-path))
;; Demove property lists to defeat cus-load and remove autoloads
(mapatoms
#'(lambda (sym)
(let ((sym-name (symbol-name sym)))
(when (string-match "^\\(org\\|ob\\|ox\\)-?" sym-name)
(setplist sym nil)
(when (autoloadp sym)
(unintern sym)))))))
大致就是确保在 load-path
中新版的 Org mode 比旧版的靠前:
~ $ emacs --batch --eval '(org-version nil t t)'
Org-mode version 8.2.10 (release_8.2.10 @ /usr/local/Cellar/emacs/25.3/share/emacs/25.3/lisp/org/)
~ $ emacs --batch -L ~/.emacs.d/elpa/org-20170906 --eval '(org-version nil t t)'
Org mode version 9.1 (9.1-elpa @ /Users/xcy/.emacs.d/elpa/org-20170906/)