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 <j.cubizolles@free.fr>
<http://permalink.gmane.org/gmane.emacs.orgmode/103124>
This commit is contained in:
Nicolas Goaziou 2015-11-29 14:23:50 +01:00
parent 813d04f8d4
commit 4dd06b2cdf

View file

@ -667,9 +667,9 @@ If `:auto-sitemap' is set, publish the sitemap too. If
`:makeindex' is set, also produce a file \"theindex.org\"." `:makeindex' is set, also produce a file \"theindex.org\"."
(dolist (project (org-publish-expand-projects projects)) (dolist (project (org-publish-expand-projects projects))
(let ((project-plist (cdr project))) (let ((project-plist (cdr project)))
(let ((preparation-function (let ((f (plist-get project-plist :preparation-function)))
(plist-get project-plist :preparation-function))) (cond ((consp f) (mapc #'funcall f))
(when preparation-function (run-hooks 'preparation-function))) ((functionp f) (funcall f))))
;; Each project uses its own cache file. ;; Each project uses its own cache file.
(org-publish-initialize-cache (car project)) (org-publish-initialize-cache (car project))
(when (plist-get project-plist :auto-sitemap) (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 (org-publish-index-generate-theindex
project (plist-get project-plist :base-directory)) project (plist-get project-plist :base-directory))
(org-publish-file theindex project t))) (org-publish-file theindex project t)))
(let ((completion-function (let ((f (plist-get project-plist :completion-function)))
(plist-get project-plist :completion-function))) (cond ((consp f) (mapc #'funcall f))
(when completion-function (run-hooks 'completion-function))) ((functionp f) (funcall f))))
(org-publish-write-cache-file)))) (org-publish-write-cache-file))))
(defun org-publish-org-sitemap (project &optional sitemap-filename) (defun org-publish-org-sitemap (project &optional sitemap-filename)