From 712773eeedca7ea51d0b563d3dee4c5323879fdc Mon Sep 17 00:00:00 2001 From: Juergen Spitzmueller Date: Fri, 13 Feb 2015 17:45:38 +0100 Subject: [PATCH] Fix reversion of beamer description overlay args Candidate for branch. --- lib/lyx2lyx/lyx_2_1.py | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/lib/lyx2lyx/lyx_2_1.py b/lib/lyx2lyx/lyx_2_1.py index 029b54d995..798a36b9b1 100644 --- a/lib/lyx2lyx/lyx_2_1.py +++ b/lib/lyx2lyx/lyx_2_1.py @@ -2705,8 +2705,22 @@ def revert_beamerargs(document): endPlain = find_end_of_layout(document.body, beginPlain) content = document.body[beginPlain + 1 : endPlain] del document.body[i:j+1] - subst = put_cmd_in_ert("[") + content + put_cmd_in_ert("]") - document.body[realparbeg : realparbeg] = subst + if layoutname == "Description": + # Description only has one (overlay) item arg + subst = put_cmd_in_ert("<") + content + put_cmd_in_ert(">") + # This must be put after the first space (begin of decription body + # in LyX's arkward description list syntax) + # Try to find that place ... + rxx = re.compile(r'^([^\\ ]+ )(.*)$') + for q in range(parbeg, parend): + m = rxx.match(document.body[q]) + if m: + # We found it. Now insert the ERT argument just there: + document.body[q : q] = [m.group(1), ''] + subst + ['', m.group(2)] + break + else: + subst = put_cmd_in_ert("[") + content + put_cmd_in_ert("]") + document.body[realparbeg : realparbeg] = subst elif argnr == "item:2": j = find_end_of_inset(document.body, i) # Find containing paragraph layout -- 2.39.2