From 507b3c937b3b06c279dad46efd76af23eb3fbb0c Mon Sep 17 00:00:00 2001 From: Nicolas Goaziou Date: Fri, 18 May 2012 11:40:39 +0200 Subject: [PATCH] org-export: Fill `org-export-current-backend' before pre-parsing hook * contrib/lisp/org-export.el (org-export-as): Store current back-end in `org-export-current-backend' before running `org-export-before-parsing-hook'. --- contrib/lisp/org-export.el | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/contrib/lisp/org-export.el b/contrib/lisp/org-export.el index 8a104d261..45c6b1fdd 100644 --- a/contrib/lisp/org-export.el +++ b/contrib/lisp/org-export.el @@ -2228,6 +2228,8 @@ Return the updated communication channel." ;; why file inclusion should be done before any structure can be ;; associated to the file, that is before parsing. +(defvar org-current-export-file) ; Dynamically scoped +(defvar org-export-current-backend) ; Dynamically scoped (defun org-export-as (backend &optional subtreep visible-only body-only ext-plist noexpand) "Transcode current Org buffer into BACKEND code. @@ -2288,7 +2290,11 @@ Return code as a string." (let ((org-current-export-file buf)) (org-export-blocks-preprocess))) (goto-char (point-min)) - (run-hooks 'org-export-before-parsing-hook) + ;; Run hook with `org-export-current-backend' set + ;; to BACKEND. + (let ((org-export-current-backend backend)) + (run-hooks 'org-export-before-parsing-hook)) + ;; Eventually parse buffer. (org-element-parse-buffer nil visible-only))))) ;; 3. Call parse-tree filters to get the final tree. (setq tree