Author tanzer@swing.co.at
Recipients r.david.murray, tanzer@swing.co.at
Date 2015-11-06.09:59:58
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <E1ZudoL-0001oj-5l@swing.co.at>
In-reply-to Your message of "Thu, 05 Nov 2015 17:35:37 +0000" <1446744937.56.0.0775324107287.issue25545@psf.upfronthosting.co.za>
Content
> If you can suggest ways of improving the string support without
> breaking existing python3 code that may be using it (most likely
> wrongly, but working for them), then I will happily review them.

At the moment, I'm mainly interested in having code that runs
correctly in both python2.7 and python3.

Having the same method behave totally differently in the two versions
is what triggered this bug report.

Adding new methods won't help with 2.7.

> To do what you appear to want, to be able to represent non-ascii as
> the equivalent unicode *cannot work*, because email messages may
> contain binary data which *cannot* be represented in printable
> unicode.

I have no problem whatsoever if, and would actually expect that,
binary message parts are encoded as necessary for RFS compliance. My
beef is with message parts that are text and are naturally represented
as unicode not as charset- and transfer-encoded 7-bit strings!

I also don't see how such a representation would break existing
python3 code but that might just be another example of famous last
words.

> But, making unicode easier is one big reason python3 exists (the
> biggest one, in practice).

>From what I have seen up to now, that has failed (spectacularly, in my
opinion, if you consider things like unpickling python2-created
pickles with binary strings, e.g., datetime instances).

Using unicode in python2 worked well enough although there was the
problem that one couldn't specify which strings were supposed to be
binary. Exactly those strings are a big problem for code that wants to
run in both python2 and python3.

python3 solves the problem of binary strings, though badly because
of the various missing string functions. But there seem to be bugs all
over the standard library and in third party modules.

That library APIs still haven't settled down yet in python3 is even
worse!

Maybe python3 would work well if one threw away all existing code and
started with completely new code but I don't think that was the
intention.
History
Date User Action Args
2015-11-06 09:59:59tanzer@swing.co.atsetrecipients: + tanzer@swing.co.at, r.david.murray
2015-11-06 09:59:59tanzer@swing.co.atlinkissue25545 messages
2015-11-06 09:59:58tanzer@swing.co.atcreate