commit 7bc7b8f422db07ecb39322e65d583da75ffbf05d
Author: Richard Kimberly Heck <[email protected]>
Date: Sat Jul 21 22:49:49 2018 -0400
Speed up convert_literalparam. Part of #11200.
(cherry picked from commit 4549f46a431021d6667451ab83965eca12d58f58)
---
lib/lyx2lyx/lyx_2_3.py | 41 +++++++++++++++++++++++------------------
status.23x | 5 +++++
2 files changed, 28 insertions(+), 18 deletions(-)
diff --git a/lib/lyx2lyx/lyx_2_3.py b/lib/lyx2lyx/lyx_2_3.py
index 9a39568..d6b3170 100644
--- a/lib/lyx2lyx/lyx_2_3.py
+++ b/lib/lyx2lyx/lyx_2_3.py
@@ -1551,24 +1551,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
diff --git a/status.23x b/status.23x
index ba917af..36335ab 100644
--- a/status.23x
+++ b/status.23x
@@ -63,6 +63,11 @@ What's new
+* LYX2LYX
+
+- Speed up some lyx2lyx conversions (bug 11200).
+
+
* TEX2LYX