[LyX/master] Python fixes from José Matos

Scott Kostyshak skostysh at lyx.org
Sun Aug 20 00:52:24 UTC 2023


commit 677dc3b7a6792b3a07c2f7f33ed06aa173d55308
Author: Scott Kostyshak <skostysh at lyx.org>
Date:   Sat Aug 19 21:32:41 2023 -0400

    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.
---
 lib/lyx2lyx/lyx_1_2.py |    4 ++--
 lib/lyx2lyx/lyx_2_0.py |    4 ++--
 lib/lyx2lyx/lyx_2_3.py |    2 +-
 3 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/lib/lyx2lyx/lyx_1_2.py b/lib/lyx2lyx/lyx_1_2.py
index ae082a7..e091b3b 100644
--- a/lib/lyx2lyx/lyx_1_2.py
+++ b/lib/lyx2lyx/lyx_1_2.py
@@ -745,8 +745,8 @@ def update_longtables(document):
         for j in range(rows):
             i = find_token(body, '<row', i)
 
-            self.endfoot = false                # footer row
-            self.endlastfoot = false        # last footer row
+            row_info[i].endfoot = false            # footer row
+            row_info[i].endlastfoot = false        # last footer row
             if row_info[j].endhead:
                 insert_attribute(body, i, 'endhead="true"')
 
diff --git a/lib/lyx2lyx/lyx_2_0.py b/lib/lyx2lyx/lyx_2_0.py
index 3f87e40..254f47b 100644
--- a/lib/lyx2lyx/lyx_2_0.py
+++ b/lib/lyx2lyx/lyx_2_0.py
@@ -378,7 +378,7 @@ def revert_splitindex(document):
         l = re.compile(r'\\begin_inset Index (.*)$')
         m = l.match(line)
         itype = m.group(1)
-        if itype == "idx" or indices == "false":
+        if itype == "idx" or useindices == "false":
             document.body[i] = "\\begin_inset Index"
         else:
             k = find_end_of_inset(document.body, i)
@@ -2189,7 +2189,7 @@ def convert_passthru(document):
             break
           ne = find_end_of_inset(document.body, ns)
           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
             continue
           if document.body[ne + 1] == "":
diff --git a/lib/lyx2lyx/lyx_2_3.py b/lib/lyx2lyx/lyx_2_3.py
index 69b2aba..5e330ed 100644
--- a/lib/lyx2lyx/lyx_2_3.py
+++ b/lib/lyx2lyx/lyx_2_3.py
@@ -1427,7 +1427,7 @@ def revert_multibib(document):
         }
 
     if multibib not in units.keys():
-        document.warning("Unknown multibib value `%s'!" % nultibib)
+        document.warning("Unknown multibib value `%s'!" % multibib)
         return
     unit = units[multibib]
     btunit = False


More information about the lyx-cvs mailing list