* lisp/org-macs.el (org-if-unprotected, org-if-unprotected-1,
org-if-unprotected-at): Removed macros.
(org-re-search-forward-unprotected): Removed function.
* lisp/org.el (org-format-latex): Remove reference to `org-protected'.
* lisp/org-list.el (org-list-struct): Remove reference to
`org-example' and `org-protected'.
* lisp/org-footnote.el (org-footnote-at-reference-p): Remove reference
to `org-protected'.
* lisp/org-capture.el (org-capture-fill-template): Remove reference to
`org-protected'.
* contrib/lisp/org-wikinodes.el (org-wikinodes-process-links-for-export):
Remove reference to `org-protected' value.
These text properties were used by the old export framework. They are
not needed anymore.
* contrib/lisp/org-mime.el (org-mime-htmlize, org-mime-compose): Use
new exporter.
* lisp/ob-haskell.el (org-babel-haskell-export-to-lhs): Use new
exporter.
* lisp/ob-latex.el (org-babel-execute:latex): Use new exporter.
* lisp/ob-org.el (org-babel-execute:org): Use new exporter.
* lisp/org-agenda.el (org-agenda-menu, org-agenda-write): Use new
iCalendar export back-end.
* lisp/org-table.el (org-table-export, orgtbl-export): Remove
dependency on `org-exp' library.
(org-table-clean-before-export): New function.
(org-table-colgroup-info): New variable.
(orgtbl-to-html): Use to new HTML export back-end.
* lisp/org.el (org-modules): Remove modules relative to obsolete
export framework and add those relative to the new one.
(org-create-formula-image-with-dvipng, org-format-latex
org-create-formula-image-with-imagemagick): Use new exporter.
(org-indent-line): INCLUDE keywords are indented like regular
keywords.
(org-mode-map): Bind C-c C-e to new export dispatcher.
(org-menu): Install new exporter in menu.
* contrib/lisp/org-e-latex.el (org-e-latex-date-timestamp-format): New
variable.
(org-e-latex-date-format): Removed variable.
(org-e-latex-template): Allow to provide a format string iff date
consists in a single timestamp.
* contrib/lisp/org-export.el (org-export-get-footnote-definition):
Provide a fallback definition when none can be found.
* contrib/lisp/org-e-latex.el (org-e-latex-footnote-reference): Revert
change made in 30ef385ee0 since it is
now handled at the export framework level.
* testing/lisp/test-org-export.el: Add test.
* contrib/lisp/org-export.el (org-export-filters-alist): Install a new
filter to modify export options.
(org-export-filter-options-functions): New variable.
(org-export-as): Call new filter.
* contrib/lisp/org-export.el (org-export--get-subtree-options): When
point is at an headline and subtree export is called, make sure
export properties are extracted from parent headline.
* testing/lisp/test-org-export.el: Add test.
* org-depend.el (org-depend-trigger-todo): Fix bug: use
`org-refresh-properties'. Also fix some compiler warnings.
Thanks to Karl Voit for reporting this.
* contrib/lisp/org-e-latex.el: Added an option, :texht, and a
defcustom, org-e-latex-with-hyperref, to hold its default value.
It is possible to configure the exporter to omit the hyperref package,
which defines the \hypersetup{} command.
* contrib/lisp/org-e-latex.el (org-e-latex--inline-image): Added an
attribute, :comment-include, to toggle commenting the \includegraphics
call.
Journals sometimes ask for a list of figure captions.
* etc/schema/od-schema-v1.2-os.rnc: OASIS standard
* etc/schema/od-manifest-schema-v1.2-os.rnc: OASIS standard
* etc/schema/schemas.xml: Fix uri to rnc files.
* lisp/org-odt.el (org-export-odt-schema-dir): Modified to
accommodate change in rnc file names.
* contrib/lisp/org-e-odt.el (org-e-odt-schema-dir): Modified
to accommodate change in rnc file names.
* contrib/lisp/org-panel.el: don't setq undefined and otherwise unused
variable orgpan-this-panel-window
* contrib/lisp/org-panel.el (orgpan-check-panel-mode): fix format
string of (error)
* contrib/lisp/org-panel.el: declare variables
viper-emacs-state-mode-list and viper-new-major-mode-buffer-list
which are defined in viper.el
TINYCHANGE
* contrib/lisp/org-export.el (org-export-options-alist): Fix
docstring.
(org-export-as): Remove NOEXPAND argument.
(org-export-to-buffer, org-export-to-file): Apply argument removal.
This argument is not needed since a function removing macros, babel
code and include keywords can be added to
`org-export-before-processing-hook'.
* org-html.el (org-html-export-list-line): Add CSS classes to
these list HTML tags: <ul> <dl> and <ol>.
* contrib/lisp/org-e-html.el (org-e-html-begin-plain-list): Add
CSS classes to these list HTML tags: <ul> <dl> and <ol>.
* contrib/lisp/org-e-texinfo.el (org-e-texinfo-link): Texinfo uses the
menu/TOC names for finding cross-references. Use the menu-title as
the link destination. Also ensures link descriptions are used as
link titles.
* contrib/lisp/org-e-beamer.el (org-e-beamer-export-as-latex): Ignore
`org-export-show-temporary-export-buffer' when export is
asynchronous.
* contrib/lisp/org-e-html.el (org-e-html-export-as-html): Ignore
`org-export-show-temporary-export-buffer' when export is
asynchronous.
Export output always goes in the Export Stack.
* contrib/lisp/org-export.el (org-export-async-stack,
org-export-async-debug, org-export-in-background,
org-export-async-init-file, org-export-stack-mode-map): New
variables.
(org-export-async-start): New macro.
(org-export--stack-source-at-point, org-export--stack-refresh,
org-export-add-to-stack, org-export--stack-remove,
org-export--stack-view, org-export--stack-clear,
org-export-stack, org-export-copy-buffer,
org-export--generate-copy-script): New functions.
(org-export-dispatch, org-export-dispatch-ui): Allow to toggle
asynchronous export.
(org-export-with-buffer-copy): Renamed from
`org-export-with-current-buffer-copy'.
(org-export-execute-babel-code): Use new function to copy a buffer.
(org-export-as): Remove all text properties from output so it still
can be sent to the original process.
* contrib/lisp/org-e-html.el (org-e-html-fontify-code): Activating
major mode before inserting contents avoid problem of initial
visibility for an Org buffer.
* contrib/lisp/org-export.el (org-export-get-previous-element,
org-export-get-next-element): Allow to retrieve all previous/next
exportable objects by specifying a non-nil, non positive integer
argument.
* testing/lisp/test-org-export.el: Add tests.
* contrib/lisp/org-e-latex.el (org-e-latex--math-table): Contiguous
tables sharing the same math mode are wrapped within the same
environment.
This patch will allow to write:
#+label: I_2
#+attr_latex: :mode math :environment bmatrix
| a | b |
|---+---|
| c | d |
#+attr_latex: :mode math :environment bmatrix :math-prefix "\\times"
| 1 | 0 |
|---+---|
| 0 | 1 |
#+attr_latex: :mode math :environment bmatrix :math-prefix "="
| 1 | 0 |
|---+---|
| 0 | 1 |
#+attr_latex: :mode math :environment bmatrix :math-prefix "\\times"
| a | b |
|---+---|
| c | d |
#+attr_latex: :mode math :environment bmatrix :math-prefix "="
| a | b |
|---+---|
| c | d |
and get:
\begin{equation}
\label{I_2}
\begin{bmatrix}
a & b \\
c & d \\
\end{bmatrix}
\times\begin{bmatrix}
1 & 0 \\
0 & 1 \\
\end{bmatrix}
=\begin{bmatrix}
1 & 0 \\
0 & 1 \\
\end{bmatrix}
\times\begin{bmatrix}
a & b \\
c & d \\
\end{bmatrix}
=\begin{bmatrix}
a & b \\
c & d \\
\end{bmatrix}
\end{equation}
* contrib/lisp/org-e-ascii.el (org-e-ascii-timestamp): Use new tool.
* contrib/lisp/org-e-groff.el (org-e-groff-timestamp): Use new tool.
* contrib/lisp/org-e-html.el (org-e-html-timestamp): Use new tool.
* contrib/lisp/org-e-latex.el (org-e-latex-timestamp): Use new tool.
* contrib/lisp/org-e-texinfo.el (org-e-texinfo-timestamp): Use new
tool.
* contrib/lisp/org-e-latex.el (org-e-latex--inline-image): Rename from
`org-e-latex-link--inline-image'. Use new attributes.
(org-e-latex-link): Use new function.
* contrib/lisp/org-e-latex.el (org-e-latex-table-matrix-macros,
org-e-latex-default-table-mode): New variables.
(org-e-latex-tables-verbatim): Removed variable.
(org-e-latex-tables-booktabs): Update docstring.
(org-e-latex--align-string, org-e-latex--org-table,
org-e-latex--table.el-table): Rename functions from, respectively
`org-e-latex-table--align-string', `org-e-latex-table--org-table' and
`org-e-latex-table--table.el-table'. Use new attributes.
(org-e-latex-table,org-e-latex-table-row): Use new attributes.
(org-e-latex--math-table): New function.
(org-e-texinfo--generate-menu-items): Use optional title in menu if
present.
(org-e-texinfo-headline): Use optional title in node entry if present.
(org-e-texinfo--generate-menu-list): Omit headlines with :noexport:
tag when generating menu entries.
* contrib/lisp/org-export.el (org-export--get-subtree-options): Store
value of options with `split' behaviour as a list of strings, not
simply as a string. Small refactoring.
* testing/lisp/test-org-export.el: Add tests.
* contrib/lisp/org-e-beamer.el (org-e-beamer-environments-special):
Add "fullframe" environment. Change access key for "againframe".
(org-e-beamer--frame-level): "fullframe" environment also sets the
frame level for the tree.
(org-e-beamer--format-frame): Ignore headline title when environment
is "fullframe".
(org-e-beamer-select-environment): Change access key for "againframe".
* contrib/lisp/org-e-beamer.el (org-e-beamer-environments-special):
Add "columns" as a new special environment.
(org-e-beamer--format-block): Allow options in columns environment
when explictly requested as a BEAMER_env property. Small refactoring.
* contrib/lisp/org-e-latex.el: Floating tables get a \centering
declaration, otherwise the table get wrapped in \begin{center}
and \end{center} environment.
Thanks to Andreas Leha for reporting it.
TINYCHANGE
* contrib/lisp/org-export.el (org-export-define-derived-backend): Add
`:parent' property to derived backend.
(org-export-derived-backend-p): New function.
* testing/lisp/test-org-export.el: Add tests.
This function can be useful in filters implemation. I.e.
(defun my-filter (contents backend info)
(when (memq backend '(e-latex e-beamer some-derived-backend-from-latex))
...))
can be replaced with:
(defun my filter (contents backend info)
(when (org-export-derived-backend-p backend 'e-latex)
...))
* contrib/lisp/org-e-latex.el: Replaced a set of \begin{center}
and \end{center} environment markers with a \centering
declaration.
Using both \begin{table} and \being{center} environments leads to double
the vertical space around the float, whereas \centering adds none.
TINYCHANGE
* contrib/lisp/org-export.el (org-export-define-backend,
org-export-define-derived-backend): Modify backend properties if
backend is already registered.
(org-export-registered-backends): Use defvar instead of defconst so
a reload doesn't reset it.
* contrib/lisp/org-export.el (org-export-registered-backends): New
variable.
(org-export-define-backend, org-export-define-derived-backend): Use
new variable. Also redefine how sub-menus are defined.
(org-export-backend-filters, org-export-backend-menu,
org-export-backend-options, org-export-backend-translate-table): New
functions.
(org-export-get-environment, org-export--parse-option-keyword,
org-export--get-subtree-options, org-export--get-inbuffer-options,
org-export--get-global-options, org-export-install-filters,
org-export-with-backend): Access to data stored in new variable.
(org-export-dispatch-ui): Display sub-menus according to new
definition.
(org-export-dispatch-menu-entries): Removed variable.
* contrib/lisp/org-e-beamer.el: Use new sub-menu definition.
(org-e-beamer--format-section, org-e-beamer-item,
org-e-beamer-keyword): Use `org-export-with-backend' instead of
relying on removed variables.
* testing/lisp/test-org-export.el: Update tests.
This patch gets rid of "invisible" variables, that is variables
defvar'ed within a macro.
* contrib/lisp/org-e-publish.el (org-e-publish-collect-index): Do not
store text properties from strings in the cache. Instead focus on
necessary data only.
(org-e-publish-index-generate-theindex): Apply changes to previous
function.
* contrib/lisp/org-e-texinfo.el (org-e-texinfo--sanitize-headline-contents,
org-e-texinfo--generate-menu-list): Provide communication channel as
as optional argument so `org-element-map' can properly skip ignored
elements.
(org-e-texinfo--find-copying, org-e-texinfo-headline,
org-e-texinfo-make-menu, org-e-texinfo-table-column-widths): Tiny
refactoring.
* contrib/lisp/org-e-beamer.el (org-e-beamer-template): Output "\date{}"
when :with-date is nil.
* contrib/lisp/org-e-latex.el (org-e-latex-template): Make sure output
contains "\date{}" when date is empty.
* contrib/lisp/org-export.el (org-export-with-date): New variable.
(org-export-options-alist): Use new variable.
* contrib/lisp/org-e-ascii.el (org-e-ascii-template--document-title):
Check `:with-date' property in communication channel.
* contrib/lisp/org-e-beamer.el (org-e-beamer-template): Check
`:with-date' property in communication channel.
* contrib/lisp/org-e-groff.el (org-e-groff--mt-head): Check
`:with-date' property in communication channel.
(org-e-groff-date-format): Remove variable.
* contrib/lisp/org-e-html.el (org-e-html--build-meta-info,
org-e-html--build-preamble, org-e-html--build-postamble): Check
`:with-date' property in communication channel.
(org-e-html-format-date): Remove variable.
* contrib/lisp/org-e-latex.el (org-e-latex-template): Check
`:with-date' property in communication channel.
contrib/lisp/org-e-man.el: Do not redefine DATE keyword.
* 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.