Le 13/01/2016 17:46, Richard Heck a écrit :
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.

Yes, I do not mind. I understand that looking for \begin_header
instead of \origin “seems” more general, but are there precise rules or
use cases that I am unaware of that made you think that it was “wrong”?

>From 0303140e4e782b2b78009a54c99a0fab8cf9bfe5 Mon Sep 17 00:00:00 2001
From: Guillaume Munch <g...@lyx.org>
Date: Wed, 13 Jan 2016 18:16:00 +0000
Subject: [PATCH] Amend 5c2d0499

---
 lib/lyx2lyx/lyx_2_2.py | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/lib/lyx2lyx/lyx_2_2.py b/lib/lyx2lyx/lyx_2_2.py
index 5361420..ece452d 100644
--- a/lib/lyx2lyx/lyx_2_2.py
+++ b/lib/lyx2lyx/lyx_2_2.py
@@ -2186,11 +2186,11 @@ def revert_verbatim_star(document):
 
 def convert_save_props(document):
     " Add save_transient_properties parameter. "
-    i = find_token(document.header, '\\origin', 0)
+    i = find_token(document.header, '\\begin_header', 0)
     if i == -1:
-        document.warning("Malformed lyx document: Missing '\\origin'.")
+        document.warning("Malformed lyx document: Missing '\\begin_header'.")
         return
-    document.header.insert(i, '\\save_transient_properties true')
+    document.header.insert(i + 1, '\\save_transient_properties true')
 
 
 def revert_save_props(document):
-- 
2.1.4

Reply via email to