]> git.lyx.org Git - lyx.git/commitdiff
Fix problem with chunk lyx2lyx conversion spotted by Scott.
authorRichard Heck <rgheck@lyx.org>
Mon, 3 Jun 2013 17:01:39 +0000 (13:01 -0400)
committerRichard Heck <rgheck@lyx.org>
Mon, 3 Jun 2013 17:01:39 +0000 (13:01 -0400)
We assume chunks come at us in a certain form. If not, then
we cannot handle the conversion. In that case, we just leave
the chunks as they were and they will appear as unknown layouts.

lib/lyx2lyx/lyx_2_1.py

index c95e94b174934589fc75fb4ba7de621b73fe3fe4..25f5aaa937f9251867035ae719e9195b0f74cb39 100644 (file)
@@ -4262,7 +4262,7 @@ def convert_chunks(document):
                 document.warning("Malformed LyX documents. Can't find end of Chunk layout!")
                 break
             thischunk = "".join(document.body[i + 1:j])
-            contents.append(thischunk)
+            contents.append(document.body[i + 1:j])
             
             if thischunk == "@":
                 break
@@ -4276,7 +4276,6 @@ def convert_chunks(document):
             layout = get_value(document.body, "\\begin_layout", i)
             #sys.stderr.write(layout+ '\n')
             if layout != "Chunk":
-                k = i
                 break
 
         if j == -1:
@@ -4286,16 +4285,18 @@ def convert_chunks(document):
 
         end = j + 1
         k = end
-
-        sys.stderr.write('\n'.join(contents) + '\n\n')
-
+        
         # the last chunk should simply have an "@" in it
-        # we could check that
+        
+        if ''.join(contents[-1]) != "@":
+            document.warning("Unexpected chunk contents.")
+            continue
+
         contents.pop()
 
         # the first item should look like: <<FROGS>>=
         # we want the inside
-        optarg = contents[0]
+        optarg = ' '.join(contents[0])
         optarg.strip()
         match = first_re.search(optarg)
         if match:
@@ -4322,7 +4323,8 @@ def convert_chunks(document):
                 newstuff.extend(['', '\\begin_layout Plain Layout', ''])
             else:
                 didone = True
-            newstuff.extend([c, '\\end_layout'])
+            newstuff.extend(c)
+            newstuff.append('\\end_layout')
 
         newstuff.extend(['', '\\end_inset', '', '\\end_layout', ''])