Fix hang reported at #10307.

Also, add a FIXME explaining what we'd need to do to fix the
convert_TeX_brace_to_Argument routine properly.

(cherry picked from commit 0f4c14bba2)
This commit is contained in:
Richard Heck 2016-07-23 13:42:54 -04:00
parent cf6b30ae76
commit a4a1c11b2d
2 changed files with 13 additions and 0 deletions

View File

@ -219,7 +219,15 @@ def convert_TeX_brace_to_Argument(document, line, n, nmax, inset, environment, o
else:
lineERT += 1
if environment == True:
# FIXME This version of the routine does not check for and pass over
# arguments before n. So it attempts to process the argument in the
# document, no matter what has been specified.
#
# The other branch does do that, but probably that code would be better
# in a single location: Skip all those arguments, then process the ones
# we want.
end_ERT = find_end_of_inset(document.body, lineERT)
document.warning(str(end_ERT))
if end_ERT == -1:
document.warning("Can't find end of ERT!!")
break
@ -254,6 +262,9 @@ def convert_TeX_brace_to_Argument(document, line, n, nmax, inset, environment, o
document.body[lineERT2 : end2 + 1] = ["\\end_layout", "", "\\end_inset"]
document.body[lineERT : end_ERT + 1] = ["\\begin_inset Argument " + str(n), "status open", "", "\\begin_layout Plain Layout"]
n += 1
else:
document.warning("Unable to process argument!")
n += 1
###############################################################################

View File

@ -40,6 +40,8 @@ What's new
* LYX2LYX
- Fix hang with some IEEEtran documents (bug 10307).
* USER INTERFACE