From 5123774bd19ed3aad7bed7fdb40e8604e27d2f0f Mon Sep 17 00:00:00 2001 From: Richard Heck Date: Fri, 28 Jan 2011 19:48:03 +0000 Subject: [PATCH] Fix lyx2lyx problem with sweave files and ParBreakIsNewline. git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@37353 a592a061-630c-0410-9148-cb99ea01b6c8 --- lib/lyx2lyx/lyx_2_0.py | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/lib/lyx2lyx/lyx_2_0.py b/lib/lyx2lyx/lyx_2_0.py index 68b0b850df..22050f8ca7 100644 --- a/lib/lyx2lyx/lyx_2_0.py +++ b/lib/lyx2lyx/lyx_2_0.py @@ -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 -- 2.39.2