Julian Foad wrote on Tue, 25 Jan 2022 13:15 +00:00: > On a trunk WC (updated today) I get: > > File > "/home/julianfoad/src/subversion-d/subversion/tests/cmdline/svntest/main.py", > line 619, in <genexpr> > assert all(isinstance(arg, (str, unicode, int)) for arg in varargs) > NameError: name 'unicode' is not defined > > This is on Ubuntu 21.10 with Python 3.9. Is the 'unicode' class name too > old or too new for this Python?
Yes: $ python2 -c 'print(type(""), type(b""), type(u""))' (<type 'str'>, <type 'str'>, <type 'unicode'>) $ python3 -c 'print(type(""), type(b""), type(u""))' <class 'str'> <class 'bytes'> <class 'str'> So, I think changing the check to «isinstance(arg, (type(b""), type(u""), int))» would work on both py2 and py3. We can't just remove «unicode» from there because that'd break svnrdump_tests under py2. Incidentally, Python 2 has separate «int» and «long» types (e.g, 2**63 evaluates to a «long») whereas Python 3 has only «int», but that's easy to handle one way or another. Thanks for the confirmation elsethread. Cheers, Daniel