]> git.lyx.org Git - features.git/commitdiff
Speed up convert_literalparam. Part of #11200.
authorRichard Kimberly Heck <rikiheck@lyx.org>
Sun, 22 Jul 2018 02:49:49 +0000 (22:49 -0400)
committerRichard Kimberly Heck <rikiheck@lyx.org>
Sun, 22 Jul 2018 02:49:49 +0000 (22:49 -0400)
lib/lyx2lyx/lyx_2_3.py

index eefbec132a09bfe0135a6ab0be5df9a72dde8aad..a2f37bc8d4354642c1678e92aad687470d0b6f05 100644 (file)
@@ -1502,24 +1502,29 @@ command_insets = ["bibitem", "citation", "href", "index_print", "nomenclature"]
 def convert_literalparam(document):
     " Add param literal "
 
-    for inset in command_insets:
-        i = 0
-        while True:
-            i = find_token(document.body, '\\begin_inset CommandInset %s' % inset, i)
-            if i == -1:
-                break
-            j = find_end_of_inset(document.body, i)
-            if j == -1:
-                document.warning("Malformed LyX document: Can't find end of %s inset at line %d" % (inset, i))
-                i += 1
-                continue
-            while i < j and document.body[i].strip() != '':
-                i += 1
-            # href is already fully latexified. Here we can switch off literal.
-            if inset == "href":
-                document.body.insert(i, "literal \"false\"")
-            else:
-                document.body.insert(i, "literal \"true\"")
+    pos = len("\\begin_inset CommandInset ")
+    i = 0
+    while True:
+        i = find_token(document.body, '\\begin_inset CommandInset', i)
+        if i == -1:
+            break
+        inset = document.body[i][pos:].strip()
+        if not inset in command_insets:
+            i += 1
+            continue
+        j = find_end_of_inset(document.body, i)
+        if j == -1:
+            document.warning("Malformed LyX document: Can't find end of %s inset at line %d" % (inset, i))
+            i += 1
+            continue
+        while i < j and document.body[i].strip() != '':
+            i += 1
+        # href is already fully latexified. Here we can switch off literal.
+        if inset == "href":
+            document.body.insert(i, "literal \"false\"")
+        else:
+            document.body.insert(i, "literal \"true\"")
+        i = j + 1
 
 
 def revert_literalparam(document):