[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [O] [BUG][ODT] ODT_STYLES_FILE not read as a list
From: |
L.C. Karssen |
Subject: |
Re: [O] [BUG][ODT] ODT_STYLES_FILE not read as a list |
Date: |
Wed, 7 Nov 2018 16:32:19 +0100 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.2.1 |
Thanks for digging into this Christian.
My lisp skills are quite undeveloped, so I can't really comment on the
code. I had a look at the manual and I think we should go for a solution
that is consistent for #+ keywords that have a filename argument like
#+INCLUDE:, #+SETUPFILE and #+TEXINFO_FILENAME.
Taking the risk that the manual is lagging behind the actual code, I see
the following:
#+ODT_STYLES_FILE: uses quotes
#+INCLUDE: uses quotes
#+TEXINFO_FILENAME: doesn't use quotes [1]
#+SETUPFILE: no example in the manual
#+HTML_INCLUDE_STYLE: no example in the manual, not sure if this
requires a file or CSS code
Another point to consider: would requiring quoted filenames make life
easier for people using spaces etc. in their filenames? In that case I'd
vote for quotes.
Best,
Lennart.
[1] https://orgmode.org/org.html#A-Texinfo-example
On 07-11-18 09:28, Christian Moe wrote:
>
> Nicolas, Lennart, cc: Charles Celerier,
>
> Below, Lennart points out another issue with ODT_STYLES_FILE, a silent
> change in syntax not reflected in the manual: quotation marks are no
> longer needed around simple file paths.
>
> I think this change was introduced by the below commit, which stopped
> reading the string as a Lisp expression, and therefore at the same time
> broke the option of providing a list for #+ODT_STYLES_FILE. My patch
> last week fixed the list problem, but left the other change
> intact. (Sorry for not doing the research.)
>
> We could either update the manual and announce the syntax change, or
> revert ox-odt-template to before the below patch to bring the code back
> in conformity with the manual. I don't have a strong opinion one way or
> the other. I like the change (never liked those quotation marks), but
> it's backwards-incompatible, and the old code looks cleaner than my fix.
>
> Yours,
> Christian
>
>
> commit 30498ef932bc35c26e3e58278f4987a67480b446
> Author: Charles Celerier <address@hidden>
> Date: Sat Jul 28 17:09:16 2018 -0400
>
> ox-odt: Fix `org-odt-template' styles file retrieval
>
> * lisp/ox-odt.el (org-odt-template): Fix `org-odt-template' styles
> file retrieval.
>
> TINYCHANGE
>
> Signed-off-by: Charles Celerier <address@hidden>
>
> diff --git a/lisp/ox-odt.el b/lisp/ox-odt.el
> index a1145a9..74d811d 100644
> --- a/lisp/ox-odt.el
> +++ b/lisp/ox-odt.el
> @@ -1359,11 +1359,10 @@ original parsed data. INFO is a plist holding export
> options."
> ;; Write styles file.
> (let* ((styles-file (plist-get info :odt-styles-file))
> (styles-file (and (org-string-nw-p styles-file)
> - (read (org-trim styles-file))))
> + (org-trim styles-file)))
> ;; Non-availability of styles.xml is not a critical
> ;; error. For now, throw an error.
> (styles-file (or styles-file
> - (plist-get info :odt-styles-file)
> (expand-file-name "OrgOdtStyles.xml"
> org-odt-styles-dir)
> (error "org-odt: Missing styles file?"))))
>
>
>
>
> L.C. Karssen writes:
>
>> On 06-11-18 16:35, Christian Moe wrote:
>>>
>>> I believe the need to use quotation marks around the style file name was
>>> removed at some point
>>
>> I didn't know that. I had a quick look at the changes to ox-odt.el for
>> the last few months, but it doesn't seem to be mentioned in any of the
>> commit messages. Or was this a more global change?
>>
>> Does this also count for the regular #+INCLUDE: statement? I just tested
>> it and for #+INCLUDE: it seems to work both with and without quotes
>> (although the manual uses quotes).
>>
>>
>> Best,
>>
>> Lennart.
>>
>>> , and the manual is out of date. Instead of
>>>
>>> #+ODT_STYLES_FILE: "template.ott"
>>>
>>> the manual ought now to read:
>>>
>>> #+ODT_STYLES_FILE: template.ott
>>>
>>> Yours,
>>> Christian
>>>
>>> L.C. Karssen writes:
>>>
>>>> Hi list,
>>>>
>>>> Not sure if this is related (or fixed with the aforementioned patch)
>>>> because I'm not using a list for the ODT style file.
>>>>
>>>> Today, after upgrading from Org 9.1.13 (actually installed from melpa on
>>>> 20180625) to melpa version 20181105 exporting to ODT stopped working. In
>>>> my org file the style file name was enclosed in double quotes (as
>>>> specified in the manual [1]):
>>>>
>>>> #+ODT_STYLES_FILE: "template.ott"
>>>>
>>>> The error message is:
>>>>
>>>> OpenDocument export failed: Invalid specification of styles.xml file:
>>>> "\"template.ott\""
>>>>
>>>> Removing the quotes fixes the export to ODT.
>>>>
>>>>
>>>> Best regards,
>>>>
>>>> Lennart.
>>>>
>>>> [1] https://orgmode.org/org.html#Applying-custom-styles
>>>>
>>>>
>>>> On 05-11-18 09:49, Christian Moe wrote:
>>>>>
>>>>> Thanks, Nicolas!
>>>>>
>>>>> I'll test on my end when it shows up in ELPA.
>>>>>
>>>>> Yours,
>>>>> Christian
>>>>>
>>>>> Nicolas Goaziou writes:
>>>>>
>>>>>> Hello,
>>>>>>
>>>>>> Christian Moe <address@hidden> writes:
>>>>>>
>>>>>>> It seems the ODT exporter currently fails to read the ODT_STYLES_FILE
>>>>>>> option as a list, as in this example from the manual
>>>>>>> ([[info:org#Applying custom styles]]):
>>>>>>>
>>>>>>> #+ODT_STYLES_FILE: ("/path/to/file.ott" ("styles.xml"
>>>>>>> "image/hdr.png"))
>>>>>>>
>>>>>>> This is needed if you want a complex style with e.g. an image in the
>>>>>>> header.
>>>>>>>
>>>>>>> Exporting this causes an "Invalid specification of styles.xml file"
>>>>>>> error on my recent ELPA version. The problem seems to be that the option
>>>>>>> is treated as a string and never tested to see if it contains a list.
>>>>>>>
>>>>>>> To reproduce the problem, place the attached documents
>>>>>>> odt-styles-test.org and odt-test-styles.odt in the same directory, then
>>>>>>> export odt-styles-test.org to ODT. The result should have a unicorn in
>>>>>>> the letterhead.
>>>>>>>
>>>>>>> The below quick-and-dirty patch seems to fix it, but I'm sure there's a
>>>>>>> better approach.
>>>>>>
>>>>>> Thank you. I applied your patch with an additional check: the value
>>>>>> should
>>>>>> be enclosed within round brackets.
>>>>>>
>>>>>> Regards,
>>>>>
>>>>>
>
--
*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
L.C. Karssen
's-Hertogenbosch
The Netherlands
address@hidden
http://blog.karssen.org
GPG key ID: A88F554A
-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-
signature.asc
Description: OpenPGP digital signature
- Re: [O] [BUG][ODT] ODT_STYLES_FILE not read as a list, Nicolas Goaziou, 2018/11/04
- Re: [O] [BUG][ODT] ODT_STYLES_FILE not read as a list, Christian Moe, 2018/11/05
- Re: [O] [BUG][ODT] ODT_STYLES_FILE not read as a list, L.C. Karssen, 2018/11/06
- Re: [O] [BUG][ODT] ODT_STYLES_FILE not read as a list, Christian Moe, 2018/11/06
- Re: [O] [BUG][ODT] ODT_STYLES_FILE not read as a list, L.C. Karssen, 2018/11/06
- Re: [O] [BUG][ODT] ODT_STYLES_FILE not read as a list, Christian Moe, 2018/11/07
- Re: [O] [BUG][ODT] ODT_STYLES_FILE not read as a list,
L.C. Karssen <=
- Re: [O] [BUG][ODT] ODT_STYLES_FILE not read as a list, Nicolas Goaziou, 2018/11/10
- Re: [O] [BUG][ODT] ODT_STYLES_FILE not read as a list, L.C. Karssen, 2018/11/19
- Re: [O] [BUG][ODT] ODT_STYLES_FILE not read as a list, Nicolas Goaziou, 2018/11/19