On 01/12/2016 04:36 PM, Guillaume Munch wrote:
> ####################################################################
> diff --git a/lib/lyx2lyx/lyx_2_2.py b/lib/lyx2lyx/lyx_2_2.py
> index 5a639cd..5361420 100644
> --- a/lib/lyx2lyx/lyx_2_2.py
> +++ b/lib/lyx2lyx/lyx_2_2.py
> @@ -2184,6 +2184,23 @@ def revert_verbatim_star(document):
>      revert_verbatim(document, True)
>  
>  
> +def convert_save_props(document):
> +    " Add save_transient_properties parameter. "
> +    i = find_token(document.header, '\\origin', 0)
> +    if i == -1:
> +        document.warning("Malformed lyx document: Missing '\\origin'.")
> +        return
> +    document.header.insert(i, '\\save_transient_properties true')

This seems wrong. Was the idea to write it before \origin because that's
how LyX writes it? If so, that's sensible, but we can still write it if
\origin isn't there. You can do something like:

+    i = find_token(document.header, '\\origin', 0)
+    if i == -1:
+        document.warning("Malformed lyx document: Missing '\\origin'.")
+        i = find_token(document.header, '\\end_header', 0)
+        if i == -1:
+            document.warning("Malformed lyx document: Missing 
'\\end_header'!!")
+            return
+    document.header.insert(i, '\\save_transient_properties true')

In fact, in this case, we could even do:

i = find_token(document.header, '\\begin_header', 0)
if i = -1:
    document.warning("Malformed lyx document: Missing '\\begin_header'!!")
    return
document.header.insert(i + 1, '\\save_transient_properties true')

That puts it at the beginning of the header, which is where LyX writes it. 

Richard


Reply via email to