Python fixes from José Matos

See here:

  https://www.mail-archive.com/search?l=mid&q=a7960223ee91696e916b281d1d9fc55df10a9480.camel%40gmail.com

Description from José pasted below:

  Functions `length_in_bp` and `revert_flex_inset` have an error in a
  (almost) never used path. The reason why this was never triggered is
  because this is part of the code where we try all the best efforts
  to recover from an ill-formed LyX file.

  The problem is that the functions call the `document` variable to
  issue an warning if the file does not follow the usual structure.
  The simple fix is to add that variable (as the first for the
  functions) and to add them at all the places where the functions are
  called.

  For reference this code was introduced by Georg (Baum) more than 8
  years ago and it was never reported. So the issue is not urgent in
  any meaningful way. :-)

  In `lyx2lyx/lyx_2_0.py`, in the function `revert_nameref`, there is
  a call to the document variable. The same as all the above.

  In `lyx2lyx/lyx_2_4.py`, in the `class fontmapping`. Similar to the
  above but now for error.
This commit is contained in:
Scott Kostyshak 2023-08-19 21:32:41 -04:00
parent 784a7210ba
commit 677dc3b7a6
3 changed files with 5 additions and 5 deletions

View File

@ -745,8 +745,8 @@ def update_longtables(document):
for j in range(rows): for j in range(rows):
i = find_token(body, '<row', i) i = find_token(body, '<row', i)
self.endfoot = false # footer row row_info[i].endfoot = false # footer row
self.endlastfoot = false # last footer row row_info[i].endlastfoot = false # last footer row
if row_info[j].endhead: if row_info[j].endhead:
insert_attribute(body, i, 'endhead="true"') insert_attribute(body, i, 'endhead="true"')

View File

@ -378,7 +378,7 @@ def revert_splitindex(document):
l = re.compile(r'\\begin_inset Index (.*)$') l = re.compile(r'\\begin_inset Index (.*)$')
m = l.match(line) m = l.match(line)
itype = m.group(1) itype = m.group(1)
if itype == "idx" or indices == "false": if itype == "idx" or useindices == "false":
document.body[i] = "\\begin_inset Index" document.body[i] = "\\begin_inset Index"
else: else:
k = find_end_of_inset(document.body, i) k = find_end_of_inset(document.body, i)
@ -2189,7 +2189,7 @@ def convert_passthru(document):
break break
ne = find_end_of_inset(document.body, ns) ne = find_end_of_inset(document.body, ns)
if ne == -1 or ne > end: if ne == -1 or ne > end:
document.warning("Can't find end of inset at line " + str(nb)) document.warning("Can't find end of inset at line " + str(ne))
ns += 1 ns += 1
continue continue
if document.body[ne + 1] == "": if document.body[ne + 1] == "":

View File

@ -1427,7 +1427,7 @@ def revert_multibib(document):
} }
if multibib not in units.keys(): if multibib not in units.keys():
document.warning("Unknown multibib value `%s'!" % nultibib) document.warning("Unknown multibib value `%s'!" % multibib)
return return
unit = units[multibib] unit = units[multibib]
btunit = False btunit = False