]> git.lyx.org Git - features.git/commitdiff
Do not convert dashes/hyphens in LyX-Code.
authorGünter Milde <milde@lyx.org>
Wed, 10 Jan 2018 11:05:26 +0000 (12:05 +0100)
committerGünter Milde <milde@lyx.org>
Wed, 10 Jan 2018 11:07:36 +0000 (12:07 +0100)
See previous commit and #10961

lib/lyx2lyx/lyx_2_2.py
lib/lyx2lyx/lyx_2_3.py

index 12ccd4a0031ab2c7b100d9b210fac5eab97c3cfd..ced6482e1fac5838f941311fccbbae740737dc64 100644 (file)
@@ -634,6 +634,16 @@ def convert_dashes(document):
             else:
                 i = j
             continue
+        if document.body[i] == "\\begin_layout LyX-Code":
+            j = find_end_of_layout(document.body, i)
+            if j == -1:
+                document.warning("Malformed LyX document: "
+                    "Can't find end of %s layout at line %d" % (words[1],i))
+                i += 1
+            else:
+                i = j
+            continue
+
         if len(words) > 0 and words[0] in ["\\leftindent", "\\paragraph_spacing", "\\align", "\\labelwidthstring"]:
             # skip paragraph parameters (bug 10243)
             i += 1
index 9cda3d7be8023223c0cd809b8feeb4197befcf1d..a39aaadd0919265a61cd210fa6e76643a11995ac 100644 (file)
@@ -1871,6 +1871,12 @@ def convert_dashligatures(document):
                     document.warning("Malformed LyX document: "
                         "Can't find end of %s inset at line %d" % (words[1],i))
                 continue
+            if line == "\\begin_layout LyX-Code":
+                j = find_end_of_layout(document.body, i)
+                if j == -1:
+                    document.warning("Malformed LyX document: "
+                       "Can't find end of %s layout at line %d" % (words[1],i))
+                continue
             # literal dash followed by a word or no-break space:
             if re.search(u"[\u2013\u2014]([\w\u00A0]|$)", line,
                          flags=re.UNICODE):
@@ -1925,6 +1931,14 @@ def revert_dashligatures(document):
                                  + words[1] + " inset at line " + str(i))
             new_body.append(line)
             continue
+        if line == "\\begin_layout LyX-Code":
+            j = find_end_of_layout(document.body, i)
+            if j == -1:
+                document.warning("Malformed LyX document: "
+                    "Can't find end of %s layout at line %d" % (words[1],i))
+            new_body.append(line)
+            continue
+        # TODO: skip replacement in typewriter fonts
         line = line.replace(u'\u2013', '\\twohyphens\n')
         line = line.replace(u'\u2014', '\\threehyphens\n')
         lines = line.split('\n')