* contrib/lisp/org-element.el (org-element-item-parser): If item's
first line is empty, ensure contents start at a beginning of line so
that child can be correctly parsed.
* contrib/lisp/org-element.el (org-element-dual-keywords): Move
caption in the dual keywords category.
(org-element--affiliated-re): Change regexp matching a dual keyword.
(org-element-collect-affiliated-keywords): Dual parsed keywords also
get their optional value parsed as a secondary string.
* EXPERIMENTAL/org-e-latex.el (org-e-latex--caption/label-string,
org-e-latex-src-block): Apply caption status change.
* EXPERIMENTAL/org-e-ascii.el (org-e-ascii--build-caption): Apply
caption status change.
(org-e-ascii--list-listings, org-e-ascii--list-tables): Apply caption
status change. Also use short caption name when available.
The status change implies a syntax change. Captions can now share
#+results: syntax, which mean that they can have a secondary
value. Thus, the following Org snippets are valid, the first two being
equivalent.
#+caption: long name
#+caption[]: long name
#+caption[short name]: long name
* contrib/lisp/org-export.el (org-export-get-inbuffer-options):
Replace macro with an empty string when no value is provided.
Ignore macros with an ill-formed key.
* contrib/lisp/org-export.el (org-export-option-alist): Add filters as
properties in the communication channel. This allows back-end
developers to install their own filters at run time instead of
making them reside in a global variable.
(org-export-data, org-export-as): Read filters from communication
channel instead of global variables.
(org-export-filter-apply-functions): Only accept list of functions.
Also change order of calling: it is now LIFO.
* contrib/lisp/org-export.el (org-export-collect-elements): Change
output to list of elements instead of their beginning position.
Also add an optional predicate argument for fine grain control.
Remove back-end argument.
(org-export-collect-tables, org-export-collect-listings): Apply
changes from previous function.
(org-export-collect-figures): Apply changes from previous function.
Also require a predicate to correctly define the concept of figure.
* contrib/lisp/org-export.el (org-export-get-ordinal): Correctly
handle predicate in `org-export-get-ordinal'. Also allow to count
more than one element type in the same sequence with optional
argument TYPES.
* contrib/lisp/org-element.el (org-element-quote-section-parser):
Assume point is at quote-section beginning.
(org-element-guess-type): Move point to section beginning before
calling for quote-section parser.
(org-element-parse-elements, org-element-current-element): Correctly
detect and parse quote section.
* EXPERIMENTAL/org-e-latex.el (org-e-latex-export-to-latex,
org-e-latex-export-to-pdf): New functions.
* contrib/lisp/org-export.el (org-export-dispatch): Make use of new
functions.
* contrib/lisp/org-export.el (org-export-output-file-name): New function.
(org-export-to-file): Remove post-process and pub-dir arguments. Add
a file argument to specify an output file.
* contrib/lisp/org-export.el (org-export-collect-tree-properties):
Ensure `:headline-offset' is filled before `:headline-numbering'
since the latter depends on the former.
(org-export-collect-headline-numbering): Use headline elements as keys
in the returned alist, instead of just beginning numbers.
(org-export-get-headline-number): Apply key change.
* contrib/lisp/org-export.el (org-export-resolve-fuzzy-link): Now
return the full object (for a target) or element (for an headline)
when a match is found. Also rewrite internals so it doesn't rely
on :headline-alist.
(org-export-collect-tree-properties): Remove :headline-alist property
from communication channel, since `org-export-resolve-fuzzy-link'
doesn't use it anymore. Also store full target objects
in :target-list property, not only raw names. Fix an argument name
mismatch, too.
Previous version of org-export-resolve-fuzzy-link returned beginning
position as the identifier for the headline found, which is pretty
weak when files are included in the parsed buffer.
* contrib/lisp/org-element.el (org-element--element-block-re): New
variable.
(org-element-current-element): New function.
(org-element-parse-elements): Make use of the new specialized function
instead of `org-element-at-point'. Also narrow buffer to current
container (greater element or recursive object) being parsed to
improve search speed.
(org-element-comment-parser): Speed-up parsing for comments at column 0.
(org-element-guess-type): Make comment regexp less restrictive, due to
comment optimizations.
* contrib/lisp/org-export.el (org-export-handle-code): Allow to delay
processing of source code by storing line numbers and references in
text properties attached it.
* contrib/lisp/org-export.el (org-export-collect-options): Default
title is retrieved before in-buffer settings are read. Also, be
more careful about indirect buffers.
* contrib/lisp/org-element.el (org-element-parse-objects): Untabify
strings between objects to avoid any `tab-width' mismatch.
* contrib/lisp/org-element.el (org-element-normalize-contents): No
longer need to handle tabs.
* contrib/lisp/org-element.el (org-element-map): Remove use of
`org-export-update-info'.
* contrib/lisp/org-export.el (org-export-persistent-properties,
org-export-persistent-properties-list): Remove variables
(org-export-collect-tree-properties): Rename from
`org-export-initialize-persistent-properties'.
(org-export-data): Get rid of `org-export-update-info' calls.
(org-export-as): Use new `org-export-collect-tree-properties' name.
(org-export-resolve-coderef, org-export-get-loc): New functions.
(org-export-handle-code): Use new functions instead of removed
properties. Reformat code. Change signature.
* contrib/lisp/org-element.el (org-element-section-parser,
org-element-section-interpreter): New functions
(org-element-greater-elements): Add new element to the list.
(org-element-at-point): Change arguments to handle a new section mode.
(org-element-guess-type): Accept an optional argument to look for
sections in priority.
(org-element-parse-buffer): Start in section mode by default. Thus
any text before the first headline is still in a section of his
own.
(org-element-parse-elements): Handle new section mode.
* contrib/lisp/org-export.el (org-export-update-info): No longer need
to keep it updated.
(org-export-collect-footnote-definitions,
org-export-footnote-first-reference-p): Get rid of dependency on the
removed property.
* contrib/lisp/org-export.el (org-export-table-format-info): Now
`:width' is properly retrieved with cookies where alignement is
missing (i.e. "<6>"). Also `:row-groups' contains groups of
standard lines only (colgroups and width lines are skipped).
* contrib/lisp/org-export.el (org-export-update-info): `:genealogy' is
now a full flat list of objects and elements containing current
object or element. Thus, `:parent-properties' and
`:inherited-properties' are now obsolete, and removed.
(org-export-data): Apply change to `:genealogy' property.
(org-export-get-parent-headline): New function to fullfil one common
need.
(org-export-last-sibling-p, org-export-included-file): Make use of the
new function.
* contrib/lisp/org-export.el (org-export-get-subtree-options):
Correctly get `:title: from headline when no "EXPORT_TITLE" property
is defined. Also assume point is at subtree beginning.
(org-export-as): Fix subtree parsing. The subtree starts at point or
at first heading above. Contents do not include the first headline.
Rename `org-on-heading-p' and `org-on-target-p' to
`org-at-heading-p' and `org-at-target-p' to be more
consistent with the org-at-*-p family.
Also define two aliases.
* contrib/lisp/org-export.el
(org-export-collect-footnote-definitions): Change key to footnote
number, retrieved with `org-export-get-footnote-number'. Also, do
not use beginning position as label for inline footnotes, as those
are weak identifiers.
* contrib/lisp/org-element.el (org-element-headline-parser): Update
list of attributes in the docstring.
(org-element-inlinetask-parser): Complete attributes with properties
inherited from any property drawer within the inlinetask and with
time properties (i.e. scheduled, clock...).
* contrib/lisp/org-element.el (org-element-map): Change name of local
variables to prevent variable name collisions with the function
around org-element-map.
* contrib/lisp/org-export.el (org-export-persistent-properties-list):
Add omitted persistent properties.
This patch also updates documentation with regards to persistent properties.
* contrib/lisp/org-export.el (org-export-collect-headlines): Simplify
function, in order to allow greater flexibility to build a proper
table of contents.
EXPERIMENTAL/org-e-latex.el (org-e-latex-link): Apply changes.
contrib/lisp/org-export.el (org-export-inline-image-p): Remove
description of the link as a required argument, since this function is
called with link contents anyway.
From the author: "This is a rewrite of Org-Velocity for speed. Delays due
to file size should no longer be perceptible. I have also added in-line
previews of entry contents and dropped support for Org-Remember."
* contrib/lisp/org-export.el (org-export-persistent-properties-list):
Remove unused persistent properties.
(org-export-initialize-persistent-properties): Delegate headline
numbering alist to `org-export-collect-headline-numbering'.
(org-export-collect-headline-numbering): New function.
(org-export-update-info): Remove part relative to headline numbering.
(org-export-get-headline-number): Use new `:headline-numbering' to get
current headline number.
Headline numbering is not done on demand anymore, but built once and
for all at the beginning of the export process, and stored in an
alist, accessible through the `:headline-numbering' property in the
communication channel.
* contrib/lisp/org-export.el (org-export-with-current-buffer-copy):
Full invisibility prevents `current-column' from returning useful
values. Thus, keep visibility related text-properties and set
`buffer-invisibility-spec' to nil.
The TOC max level which could be specified by user is lost during the
export operation. However, this information could be useful in particular
with the ODT exporter. So if another script work on the ODT afterward and
ask to re-compute the TOC, the new TOC will keep this max level.
TINYCHANGE.