ox: Change back-ends internal representation to structures
commitcea0434c4f7f7f1fc1547e6790b96a76bc217e15
authorNicolas Goaziou <n.goaziou@gmail.com>
Mon, 24 Jun 2013 18:52:10 +0000 (24 20:52 +0200)
committerNicolas Goaziou <n.goaziou@gmail.com>
Thu, 4 Jul 2013 12:17:49 +0000 (4 14:17 +0200)
tree439b87f9dfaf9a241c89c2c015b07063222d46be
parent0e990275754e445ba652d980e034d1715ea73b71
ox: Change back-ends internal representation to structures

* lisp/ox.el (org-export--registered-backends): Renamed from
  `org-export-registered-backends'.
(org-export-invisible-backends): Removed variable.
(org-export-get-backend, org-export-get-all-transcoders
org-export-get-all-options, org-export-get-all-filters): New
functions.  It replaces `org-export-backend-translate-table'.
(org-export-barf-if-invalid-backend, org-export-derived-backend-p,
org-export-define-backend, org-export-define-derived-backend):
Rewrite functions using new representation.
(org-export-backend-translate-table): Remove function.
(org-export-get-environment): Use new function.
(org-export--get-subtree-options, org-export--parse-option-keyword,
org-export--get-inbuffer-options, org-export--get-global-options,
org-export-to-buffer org-export-to-file, org-export-string-as
org-export-replace-region-by): Update docstring.
(org-export-data-with-translations): Remove function.  Use
`org-export-data-with-backend' with a temporary back-end instead.
(org-export-data-with-backend, org-export-as): Reflect new definition
for back-ends.
(org-export--dispatch-action, org-export--dispatch-ui): Reflect new
definition for back-ends and variable removal.  Refactoring.
(org-export-filter-apply-functions): Call functions with
current back-end's name, not full back-end.
* lisp/org.el (org-export-backends, org-create-formula--latex-header):
Use new structure and variables.
* testing/lisp/test-ox.el: Update tests.

This patch separates back-end definition from its registration.  Thus,
it allows to use anonymous or unregistered back-ends.
lisp/org.el
lisp/ox.el
testing/lisp/test-ox.el