org.el: org-babel-load-file loads first tangle file

(org-babel-load-file): When org-mode FILE has multiple target files
for tangle blocks, `exported-file' will be set to last found
target file, which might not be the `file'.

Therefore fix for this bug is to select the last element of that
tangled file list, which is the tangle target file of the first found
tangle block, most typically the `file'.

TINYCHANGE
This commit is contained in:
Sami Airaksinen 2015-01-29 23:10:02 +02:00 committed by Nicolas Goaziou
parent b4b16c6165
commit c90925be29
1 changed files with 3 additions and 1 deletions

View File

@ -235,8 +235,10 @@ file to byte-code before it is loaded."
;; tangle if the org-mode file is newer than the elisp file
(unless (and (file-exists-p exported-file)
(> (funcall age file) (funcall age exported-file)))
;; Tangle-file traversal returns reversed list of tangled files
;; and we want to evaluate the first target.
(setq exported-file
(car (org-babel-tangle-file file exported-file "emacs-lisp"))))
(car (last (org-babel-tangle-file file exported-file "emacs-lisp")))))
(message "%s %s"
(if compile
(progn (byte-compile-file exported-file 'load)