From 8f1cbe000ee0eec9cd2f857540349bb249245ded Mon Sep 17 00:00:00 2001 From: Georg Baum Date: Wed, 19 Feb 2014 21:56:00 +0100 Subject: [PATCH] Fix bug #4036 (lyx2lyx produces invalid LyX 1.4.x) I should have had a closer look much earlier, since the fix is simple and safe, but at that time I did not notice. The problem was that an invalid .lyx document was created when converting unicode characters with two backslashes in their LaTeX definition from lib/unicodesymbols to pre-unicode LyX format. --- lib/lyx2lyx/lyx_1_5.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/lib/lyx2lyx/lyx_1_5.py b/lib/lyx2lyx/lyx_1_5.py index d3de88f998..96d9589a45 100644 --- a/lib/lyx2lyx/lyx_1_5.py +++ b/lib/lyx2lyx/lyx_1_5.py @@ -356,7 +356,7 @@ def read_unicodesymbols(): def revert_unicode_line(document, i, insets, spec_chars, replacement_character = '???'): # Define strings to start and end ERT and math insets - ert_intro='\n\n\\begin_inset ERT\nstatus collapsed\n\\begin_layout %s\n\\backslash\n' % document.default_layout + ert_intro='\n\n\\begin_inset ERT\nstatus collapsed\n\\begin_layout %s' % document.default_layout ert_outro='\n\\end_layout\n\n\\end_inset\n' math_intro='\n\\begin_inset Formula $' math_outro='$\n\\end_inset' @@ -415,8 +415,8 @@ def revert_unicode_line(document, i, insets, spec_chars, replacement_character = command = command + '}' elif not insets or insets[-1] != "ERT": # add an ERT inset with the replacement character - command = command.replace('\\\\', ert_intro) - command = command + ert_outro + command = command.replace('\\\\', '\n\\backslash\n') + command = ert_intro + command + ert_outro else: command = command.replace('\\\\', '\n\\backslash\n') last_char = '' # indicate that the character should not be removed -- 2.39.2