* contrib/lisp/org-export.el (org-export-get-category):
`org-entry-properties' is over-zealous when it comes to "CATEGORY"
property. Ignore its "???" return value, which only means it wasn't
able to find an appropriate category.
* contrib/lisp/org-export.el (org-export-before-processing-hook): New
variable.
(org-export-as): Run a hook just before expanding include keywords and
macros, and evaluating Babel blocks.
* testing/lisp/test-org-export.el: Add test.
* contrib/lisp/org-export.el (org-export-get-previous-element,
org-export-get-next-element): Correctly retrieve previous and next
object, if any, in secondary strings.
* testing/lisp/test-org-export.el: Add tests.
* contrib/lisp/org-export.el (org-export-as): Expand correctly
{{{title}}} and such when they already contain a regular macro.
This is done by expanding macros in two steps: at first regular
macros, then document specific macros.
(org-export-expand-macro): Remove function.
* testing/lisp/test-org-export.el: Add test.
* contrib/lisp/org-export.el (org-export-as):
`org-current-export-file' should refer to current, temporary, buffer
containing included contents, not to original buffer with include
keywords.
(org-export-with-current-buffer-copy): Buffer copy must contain the
whole buffer, possibly narrowed to a proper part, not only the
narrowed part.
* testing/lisp/test-org-export.el: Tweak tests.
* contrib/lisp/org-export.el (org-export-options-alist): Add an option
item to toggle smart quotes during export.
(org-export-with-smart-quotes, org-export-smart-quotes-alist,
org-export-smart-quotes-regexps): New variables.
(org-export-activate-smart-quotes): New function.
(org-export-data): Remove residual text properties.
* testing/lisp/test-org-export.el: Add tests.
* contrib/lisp/org-e-texinfo.el (org-e-texinfo-compile): Mirror recent
changes about base filename and default-directory made to
`org-e-latex-compile'.
* contrib/lisp/org-e-groff.el (org-e-groff-compile): Mirror recent
changes about base filename and default-directory made to
`org-e-latex-compile'.
* contrib/lisp/org-e-man.el (org-e-man-compile): Mirror recent changes
about base filename and default-directory made to
`org-e-latex-compile'.
* contrib/lisp/org-e-latex.el (org-e-latex-pdf-process): Update
docstring.
(org-e-latex-compile): "%b" is replaced with base filename, that is
filename without directory and extension.
* contrib/lisp/org-export.el (org-export-dispatch-ui): Make sure that
window displaying UI is tall enough. This fixes a bug where only
a part of the menu was displayed.
* contrib/lisp/org-e-latex.el (org-e-latex-compile): Fix compilation
when default-directory from current buffer doesn't match directory
from file being compiled. Small refactoring, too.
Thanks to Robert Klein for reporting the problem and suggesting a fix.
* contrib/lisp/org-export.el (org-export-dispatch-use-expert-ui):
Complete docstring.
(org-export-dispatch): Fix docstring. Clean dispatch buffer, if any,
each time the function is called.
(org-export-dispatch-ui): Make sure window containing dispatch buffer
is active when user is prompted for a key. Also remove cursor from
view.
(org-export-dispatch-action): Ring a bell when a wrong key is pressed.
In regular UI, also inform the user by a message.
* contrib/lisp/org-export.el (org-export-as): Expand include keywords
before macros. This allows to specify macro templates in the
included file.
* testing/examples/macro-templates.org: New file for testing purposes.
* testing/lisp/test-org-export.el: Add test.
* contrib/lisp/org-e-ascii.el (org-e-ascii-publish-to-ascii,
org-e-ascii-publish-to-latin1, org-e-ascii-publish-to-utf8): New
functions.
* contrib/lisp/org-e-html.el (org-e-html-publish-to-html): New
function.
* contrib/lisp/org-e-latex.el (org-e-latex-publish-to-latex,
org-e-latex-publish-to-pdf): New functions.
* contrib/lisp/org-e-publish.el (org-e-publish-org-to-latex,
org-e-publish-org-to-pdf, org-e-publish-org-to-ascii,
org-e-publish-org-to-latin1, org-e-publish-org-to-utf8,
org-e-publish-org-to-html): Remove functions.
Each back-end can define its own publishing functions. This patch
avoids to clutter org-e-publish.el.
* contrib/lisp/org-e-publish.el (org-e-publish-org-to-pdf): Don't
expect every file from a project to sit in :base-directory.
(org-e-publish-org-to): Make publishing directory optional.
* contrib/lisp/org-export.el: Correct reference to non-existing source
file, org-exp-blocks has been removed and the imported function is
now in ob-exp.
* contrib/lisp/org-export.el (org-export-define-backend,
org-export-define-derived-backend): Make sure a given entry won't be
added to menu more than once.
* contrib/lisp/org-e-publish.el (org-e-publish-org-to-pdf): First
publish in base directory, then move results to publishing
directory. It allows to correctly publish a document with images
generated by some Babel code.