mirror of
https://git.savannah.gnu.org/git/emacs/org-mode.git
synced 2024-09-04 03:43:01 +00:00
* lisp/ob-core.el (org-babel-exp-reference-buffer): New variable, as a replacement for `org-current-export-file'. (org-babel-check-confirm-evaluate): Use new variable. * lisp/ob-exp.el (org-babel-exp-in-export-file): Use new variable. (org-babel-exp-get-export-buffer): Remove function. (org-babel-exp-process-buffer): Change signature. * lisp/ob-ref.el (org-babel-ref-resolve): Use new variable during export in order to properly resolve references. * lisp/ox.el (org-export-execute-babel-code): Use new variable. * contrib/lisp/org-wikinodes.el (org-wikinodes-process-links-for-export): Remove a cond branch as it is always false (`org-current-export-file' couldn't be a string). * testing/lisp/test-ob-lob.el (test-ob-lob/export-lob-lines): Update test. * testing/lisp/test-ob.el (test-ob/eval-header-argument): Update test. * testing/lisp/test-ob-exp.el (ob-export/reference-in-post-header): New test. During export, Babel executes sequentially all blocks in the buffer being exported. This can lead to modifications preventing some references from being resolved. As a workaround, Babel stores a pristine copy of the buffer in a variable so it can always find needed references. Before this patch, the variable storing this copy was `org-current-export-file' and was dynamically bound in "ox.el". It was used to resolve noweb references (`org-babel-expand-noweb-references') but not regular references (`org-babel-ref-resolve'). Now, the variable is `org-babel-exp-reference-buffer' and it is bound from `org-babel-exp-process-buffer'. It is used to resolve all references. In particular, this allows to use references in :post header. Thanks to Jarmo Hurri for reporting it. |
||
---|---|---|
.. | ||
test-ob-awk.el | ||
test-ob-C.el | ||
test-ob-emacs-lisp.el | ||
test-ob-exp.el | ||
test-ob-fortran.el | ||
test-ob-header-arg-defaults.el | ||
test-ob-lilypond.el | ||
test-ob-lob.el | ||
test-ob-maxima.el | ||
test-ob-octave.el | ||
test-ob-perl.el | ||
test-ob-python.el | ||
test-ob-R.el | ||
test-ob-ruby.el | ||
test-ob-shell.el | ||
test-ob-table.el | ||
test-ob-tangle.el | ||
test-ob.el | ||
test-org-clock.el | ||
test-org-element.el | ||
test-org-footnote.el | ||
test-org-list.el | ||
test-org-macro.el | ||
test-org-src.el | ||
test-org-table.el | ||
test-org.el | ||
test-ox.el | ||
test-property-inheritance.el |