Two Python 2.x regressions in LibreOffice 3.5.1RC1

David Bolen db3l.net at gmail.com
Sat Mar 3 15:45:36 PST 2012


I've run into two regressions (from 3.4.5) when using LibreOffice
3.5.1RC1 with the internal Python interpreter (though I believe it will
affect any Python 2.x user), both apparently unintended consequences of
an earlier Python 3 compatibility commit.

I'm pretty sure these were present in 3.5.0 but I couldn't use that
release due to the uno loading bug (bug 45696).  In fact, I was only
testing an RC of 3.5.1 to ensure that bug fix worked in my environment.

Specifically:

1. (Bug 46926) Switching to a rich comparison function for wrapped
   object comparisons was incomplete, and essentially disabled
   comparisons silently.  For existing code, comparisons that used to be
   true will simply always be false.
2. (Bug 46859) Changes to support Python 3's "str" type being unicode
   broke some of the class wrapping in uno.py under Python 2, so you can
   no longer set (or even dereference) Char values without generating an
   exception in Python 2.  (Bug 46859)

I expect that there will be others such as myself, for which 3.5.1 will
be the first 3.5 release used with Python, so if there's any way to
consider these issues for inclusion before 3.5.1 final I think it would
be useful.  If nothing else, the rich comparison fix is very modest and
not fixable by an end user.

The uno.py case is trickier since I haven't yet proposed a full solution
that retains Python 3 compatibility, though it does seem that as
distributed, the wrapper should be compatible with the internal
interpreter and the larger Python 2.x base in preference to 3.  But at
the least, this is more easily fixable by an end user if necessary.

I'm new to LibreOffice development, so I apologize if this note is a
misuse of this list, with respect to referencing existing bug reports.

-- David



More information about the LibreOffice mailing list