Speed up convert_literalparam. Part of #11200.

This commit is contained in:
Richard Kimberly Heck 2018-07-21 22:49:49 -04:00
parent 8573391aee
commit 4549f46a43

View 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):