Fix layout2layout conversion for format 40. This is a big ugly,

I'm afraid, but it's going to be. We skip all comment lines at
the start of the script, but what we want to convert here is in
those comment lines. My previous attempt to deal with this issue
produced an invalid file.
This commit is contained in:
Richard Heck 2012-10-12 09:49:10 -04:00
parent 47673f560f
commit b5e2fd7bb7

View File

@ -296,12 +296,23 @@ def convert(lines):
flexstyles = []
while i < len(lines):
# Skip comments and empty lines, but not if it's the declaration
# line (we'll deal with it below)
if (re_Comment.match(lines[i]) or re_Empty.match(lines[i])) \
and not re_Declaration.match(lines[i]):
i += 1
continue
# Skip comments and empty lines
if (re_Comment.match(lines[i]) or re_Empty.match(lines[i])):
# We need to deal with this conversion here, because it happens
# inside the initial comment block.
if only_comment and format == 39:
match = re_ExtractCategory.match(lines[i])
if match:
lpre = match.group(1)
lcat = match.group(2)
lnam = match.group(3)
if lcat in ConvDict:
lcat = ConvDict[lcat]
lines[i] = lpre + "{" + lnam + "}"
lines.insert(i+1, "# \\DeclareCategory{" + lcat + "}")
i += 1
i += 1
continue
# insert file format if not already there
if (only_comment):
@ -340,16 +351,6 @@ def convert(lines):
continue
if format == 39:
match = re_ExtractCategory.match(lines[i])
if match:
lpre = match.group(1)
lcat = match.group(2)
lnam = match.group(3)
if lcat in ConvDict:
lcat = ConvDict[lcat]
lines[i] = lpre + "{" + lnam + "}"
lines.insert(i+1, "# \\DeclareCategory{" + lcat + "}")
i += 1
i += 1
continue