]> git.lyx.org Git - features.git/commitdiff
Fix lyx2lyx problem with sweave files and ParBreakIsNewline.
authorRichard Heck <rgheck@comcast.net>
Fri, 28 Jan 2011 19:48:03 +0000 (19:48 +0000)
committerRichard Heck <rgheck@comcast.net>
Fri, 28 Jan 2011 19:48:03 +0000 (19:48 +0000)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@37353 a592a061-630c-0410-9148-cb99ea01b6c8

lib/lyx2lyx/lyx_2_0.py

index 68b0b850dfb158b2ba6a97b187bfc9d77982eda5..22050f8ca75976bd6c12fe86ac0a1414811d42f5 100644 (file)
@@ -2078,9 +2078,20 @@ def convert_passthru(document):
           document.warning("Can't find end of layout at line " + str(beg))
           beg += 1
           continue
+        document.warning(str(end))
+
         # we are now going to replace newline insets within this layout
         # by new instances of this layout. so we have repeated layouts
         # instead of newlines.
+
+        # first, though, we need to find out if the paragraph has any
+        # customization, so those can be propogated.
+        custom = []
+        i = beg + 1
+        while document.body[i].startswith("\\"):
+          custom.append(document.body[i])
+          i += 1
+
         ns = beg
         while True:
           ns = find_token(document.body, "\\begin_inset Newline newline", ns, end)
@@ -2093,13 +2104,14 @@ def convert_passthru(document):
             continue
           if document.body[ne + 1] == "":
             ne += 1
-          subst = ["\\end_layout", "", "\\begin_layout " + lay]
+          subst = ["\\end_layout", "", "\\begin_layout " + lay] + custom
           document.body[ns:ne + 1] = subst
           # now we need to adjust end, in particular, but might as well
           # do ns properly, too
-          newlines = (ne - ns) - len(subst)
+          newlines = (ne - ns) - len(subst) + len(custom)
           ns += newlines + 2
-          end += newlines + 1
+          end += newlines + 2
+
         # ok, we now want to find out if the next layout is the
         # same as this one. if so, we will insert an extra copy of it
         didit = False