From 4dd06b2cdfc411e5390f2f6f9d799244a34a34e0 Mon Sep 17 00:00:00 2001 From: Nicolas Goaziou Date: Sun, 29 Nov 2015 14:23:50 +0100 Subject: [PATCH] ox-publish.el: Fix :preparation-function and :completion-function * lisp/ox-publish.el (org-publish-projects): Do not use `run-hooks' in a lexical binding environment. Reported-by: Julien Cubizolles --- lisp/ox-publish.el | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/lisp/ox-publish.el b/lisp/ox-publish.el index 90f307cc1..b49b9d314 100644 --- a/lisp/ox-publish.el +++ b/lisp/ox-publish.el @@ -667,9 +667,9 @@ If `:auto-sitemap' is set, publish the sitemap too. If `:makeindex' is set, also produce a file \"theindex.org\"." (dolist (project (org-publish-expand-projects projects)) (let ((project-plist (cdr project))) - (let ((preparation-function - (plist-get project-plist :preparation-function))) - (when preparation-function (run-hooks 'preparation-function))) + (let ((f (plist-get project-plist :preparation-function))) + (cond ((consp f) (mapc #'funcall f)) + ((functionp f) (funcall f)))) ;; Each project uses its own cache file. (org-publish-initialize-cache (car project)) (when (plist-get project-plist :auto-sitemap) @@ -701,9 +701,9 @@ If `:auto-sitemap' is set, publish the sitemap too. If (org-publish-index-generate-theindex project (plist-get project-plist :base-directory)) (org-publish-file theindex project t))) - (let ((completion-function - (plist-get project-plist :completion-function))) - (when completion-function (run-hooks 'completion-function))) + (let ((f (plist-get project-plist :completion-function))) + (cond ((consp f) (mapc #'funcall f)) + ((functionp f) (funcall f)))) (org-publish-write-cache-file)))) (defun org-publish-org-sitemap (project &optional sitemap-filename) -- 2.11.4.GIT