Speed up convert_literalparam. Part of #11200.

(cherry picked from commit 4549f46a43)
This commit is contained in:
Richard Kimberly Heck 2018-07-21 22:49:49 -04:00
parent b665b1af27
commit 7bc7b8f422
2 changed files with 28 additions and 18 deletions

View File

@ -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

View File

@ -63,6 +63,11 @@ What's new
* LYX2LYX
- Speed up some lyx2lyx conversions (bug 11200).
* TEX2LYX