Skip to content

Missing quoting of \s in src/Soros.py #131

@stbergmann

Description

@stbergmann

With an --enable-ext-numbertext build of recent LibreOffice master (which thus bundles b7cae45ad2c23551fd6ccb8ae2c1f59e-numbertext_0.9.5.oxt as a LibreOffice extension), I notice that during make JunitTest_svx_unoapi, it spits out some

warn:pyuno.runtime:3199389:3202828:pyuno/source/module/pyuno_runtime.cxx:951: Python exception: <class 'SyntaxError'>: invalid escape sequence '\s' (Soros.py, line 37), traceback follows
  File "/home/sberg/lo2/build/instdir/program/unohelper.py", line 292, in createInstanceWithContext
    return self.clazz( context )
  File "/home/sberg/lo2/build/instdir/share/extensions/numbertext/reg.uno.py", line 7, in createInstance
    import org.Numbertext
  File "/home/sberg/lo2/build/instdir/program/uno.py", line 346, in _uno_import
    return _builtin_import(name, *optargs, **kwargs)
  File "/home/sberg/lo2/build/instdir/share/extensions/numbertext/pythonpath/org/Numbertext/__init__.py", line 8, in <module>
    from org.Numbertext import Soros
  File "/home/sberg/lo2/build/instdir/program/uno.py", line 346, in _uno_import
    return _builtin_import(name, *optargs, **kwargs)

 at /home/sberg/lo2/source/pyuno/source/module/pyuno_runtime.cxx:950

Looks like that old revision of src/Soros.py would need some quoting like

@@ -34,7 +34,7 @@
             prg = "0+(0|[1-9]\\d*) $1\n" + prg.replace("__numbertext__", "")
         prg = _tr(prg, _m[:4], _c[:4], "\\") # \\, \", \;, \# -> \uE000..\uE003
         for s in re.sub("(#[^\n]*)?(\n|$)", ";", prg).split(";"):
-            m = re.match("^\s*(\"[^\"]*\"|[^\s]*)\s*(.*[^\s])?\s*$", s)
+            m = re.match("^\\s*(\"[^\"]*\"|[^\\s]*)\\s*(.*[^\\s])?\\s*$", s)
             if m != None:
                 s = _tr(m.group(1).strip("\""), _c[1:4], _m[1:4], "") \
                     .replace(_c[_m.find("\\")], "\\\\") # -> \\, ", ;, #

That source file has apparently changed since then, but I think the most recent revision of src/Soros.py would still need that fix on line 46,

        matchline = re.compile("^\s*(\"[^\"]*\"|[^\s]*)\s*(.*[^\s])?\s*$")

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions