瀏覽代碼

ox: Ignore `org-mode-hook' and `kill-emacs-hook' in asynchronous export

* lisp/ox.el (org-export-async-start): Ignore `org-mode-hook' and
  `kill-emacs-hook'.  The first one has been run in the original
  buffer.  The second is not necessary and can pollute output to
  a temporary buffer (e.g. with `org-clock-persistence-insinuate').
Nicolas Goaziou 12 年之前
父節點
當前提交
ce3e6555d3
共有 1 個文件被更改,包括 4 次插入0 次删除
  1. 4 0
      lisp/ox.el

+ 4 - 0
lisp/ox.el

@@ -5091,6 +5091,10 @@ and
 	     "%S"
 	     "%S"
 	     `(with-temp-buffer
 	     `(with-temp-buffer
 		,(when org-export-async-debug '(setq debug-on-error t))
 		,(when org-export-async-debug '(setq debug-on-error t))
+		;; Ignore `org-mode-hook' as it has been run already
+		;; in the original buffer.  Ignore `kill-emacs-hook'
+		;; as we need a truly non-interactive process.
+		(setq org-mode-hook nil kill-emacs-hook nil)
 		;; Initialize `org-mode' and export framework in the
 		;; Initialize `org-mode' and export framework in the
 		;; external process.
 		;; external process.
 		(org-mode)
 		(org-mode)