Best way to explain is with an example:
1. emacs -Q
2. eval this
(add-to-list 'load-path "~/src/org-mode/lisp/")
(require 'org-loaddefs)
Ensure that there is org-loaddefs available from git path.
3. M-x load-library ox-odt.el
4. Ensure (featurep 'org-odt) reports nothing.
5. M-x customize-group org-export-odt.
6. See both legacy (org-export-odt-*) and new variables (org-odt-*)
being reported.
----------------------------------------------------------------
s/odt/latex/. The result will be the same
----------------------------------------------------------------
What needs to happen:
Put new things in new groups. I suggest org-export-ng or org-export-new
prefix for new exporter and backends.
Both the backend groups and the parent groups.
----------------------------------------------------------------
Long winded explanation:
-----------------------
Both the legacy and new exporters, declare SAME ":group
'org-export-backend" for but DIFFERENT user variables. Similar looking
variables is NOT guaranteed to have same functionality.
Vanialla Emacs "somehow" tracks the custom variables and it's group
/even if/ legacy exporters are NOT in the load path. So when new
exporter is loaded, the group displays BOTH the LEGACY and NEW
variables.
org-odt.el uses
(defgroup org-export-odt nil
"Options specific for ODT export of Org-mode files."
:tag "Org Export ODT"
:group 'org-export
:version "24.1")
(defcustom org-export-odt-content-template-file nil
"Template file for \"content.xml\".
The exporter embeds the exported content just before
\"</office:text>\" element.
If unspecified, the file named \"OrgOdtContentTemplate.xml\"
under `org-odt-styles-dir' is used."
:type 'file
:group 'org-export-odt
:version "24.1")
)
ox-odt.el uses
(defgroup org-export-odt nil
"Options for exporting Org mode files to ODT."
:tag "Org Export ODT"
:group 'org-export)
(defcustom org-odt-content-template-file nil
"Template file for \"content.xml\".
The exporter embeds the exported content just before
\"</office:text>\" element.
If unspecified, the file named \"OrgOdtContentTemplate.xml\"
under `org-odt-styles-dir' is used."
:type '(choice (const nil)
(file))
:group 'org-export-odt
:version "24.1")
Carsten Dominik <[email protected]> writes:
> Hi,
>
> can someone please summarize this discussion for me and tell me what action
> is required?
>
> Thank you!
>
> - Carsten
>
> On 29.8.2013, at 20:25, Skip Collins <[email protected]> wrote:
>
>> Jambunathan K <[email protected]> wrote:
>>>> After I do an ODT export, many ox-odt variables are duplicated with
>>>> old variable names:
>>>> | [-]-\ Group Org Export ODT
>>>> | | |--- Option Org Odt Schema Dir
>>>> | | |--- Option Org Odt Content Template File
>>>
>>> Above ones come from NEW exporter, ox-odt.el
>>>
>>>> | | |--- Option Org Export Odt Schema Dir
>>>> | | |--- Option Org Export Odt Content Template File
>>>
>>> Above ones come from LEGACY exporter. Not used by ox-odt.el.
>>>
>>> This is confusing but the behaviour is expected and NOT BUGGY.
>>
>> Thank you for clarifying a confusing situation. I am not sure why I
>> assumed that the org-export-odt variables were the newer ones.
>>
>> Suggestion for maintainers: a new, separate customization group, with
>> appropriate pointers in the documentation, would be helpful.
>>