ox-publish: Fix small bug

* lisp/ox-publish.el (org-publish-cache-file-needs-publishing): Find
  included file even if keyword is indented.
This commit is contained in:
Nicolas Goaziou 2014-03-12 19:54:24 +01:00
parent 07158efa53
commit 6062f9ea72
1 changed files with 11 additions and 7 deletions

View File

@ -1161,22 +1161,26 @@ the file including them will be republished as well."
(org-inhibit-startup t)
(visiting (find-buffer-visiting filename))
included-files-ctime buf)
(when (equal (file-name-extension filename) "org")
(setq buf (find-file (expand-file-name filename)))
(with-current-buffer buf
(goto-char (point-min))
(while (re-search-forward
"^#\\+INCLUDE:[ \t]+\"\\([^\t\n\r\"]*\\)\"[ \t]*.*$" nil t)
(let* ((included-file (expand-file-name (match-string 1))))
(add-to-list 'included-files-ctime
(org-publish-cache-ctime-of-src included-file) t))))
(while (re-search-forward "^[ \t]*#\\+INCLUDE:" nil t)
(let* ((element (org-element-at-point))
(included-file
(and (eq (org-element-type element) 'keyword)
(org-string-nw-p (org-element-property :value element)))))
(when included-file
(add-to-list 'included-files-ctime
(org-publish-cache-ctime-of-src
(expand-file-name included-file))
t)))))
(unless visiting (kill-buffer buf)))
(if (null pstamp) t
(let ((ctime (org-publish-cache-ctime-of-src filename)))
(or (< pstamp ctime)
(when included-files-ctime
(not (null (delq nil (mapcar (lambda(ct) (< ctime ct))
(not (null (delq nil (mapcar (lambda (ct) (< ctime ct))
included-files-ctime))))))))))
(defun org-publish-cache-set-file-property