morepypy.blogspot.com Хотя судя по потенциалу, могли бы и больше дать.
О, гугл таки дал $35000 pypy With a __repr__ that returns an unencodable unicode string, you will get an
encoding error on CPython if you try to do anything at all, like str(O()) or
repr(O()) or print O() or `O()`. Even doing '%r' % O(). It seems that '%s' %
O() is the only thing that you can do.
Indeed, I can't believe it, but looking at the source code of CPython, there is
a special function _PyObject_Str() that is called only from '%s' formatting.
All other places call PyObject_Str() or PyObject_Repr(), which will encode the
unicode string. It makes no sense to me... What should we do? Copy this
horribly strange special case???
bugs.pypy.org
Таким образом, собирайте вашу строку при помощи u"".join([список_строк]) и не выпендривайтесь. Ну я лично еще сделал некоторый класс UnicodeBucket, но наверное проще не выпендриваться и таки u"".join() использывать dl.dropbox.com
arigo default b67e33eb50 /pypy/module/__pypy__/: Easter-egg-like implementation of __pypy__.do_what_I_mean().