On Jan 13, 2014, at 5:25 PM, Eric V. Smith <e...@trueblade.com> wrote:

> On 1/13/2014 4:59 PM, Guido van Rossum wrote:
>> On Mon, Jan 13, 2014 at 1:29 PM, Glenn Linderman <v+pyt...@g.nevcal.com> 
>> wrote:
>>> If somehow (unlikely though it seems) we end up keeping %s (e.g.
>>> strictly to ease porting), we could also keep %r as an alias for %a.
>>> 
>>> 
>>> %s for strictly interpolating bytes eases porting. Sad name, but good for
>>> compatibility. When the blowup happens, due to having a str type passed, the
>>> porter adds the appropriate .encode(...) to the parameter, so it doesn't
>>> blow up on Py 3, and it'll be OK for Py 2 as well, will it not?
>> 
>> Lots of code uses %s with numbers too, and probably the occasional
>> None or list (relying on the Python 2 near-guarantee that most
>> objects' str() is their repr() and that repr() nearly guarantees to
>> return only ASCII).
>> 
>> E.g. I'm sure you can find live code doing something like
>> 
>> headers.append('Content-Length: %s\r\n' % len(body))
>> 
> 
> That's why I think we should support %s taking bytes, int, float. And
> make %b mean the same thing, if you want. But I think we need to keep %s
> (however limited) for compatibility with Python 2.
> 
> Personally, I'd be okay with %s not accepting str (by raising an exception).
> 
> I think that would give us a large "compatibility surface" in common
> with Python 2.

%s not accepting str is the major thing I’d personally be against. %s taking 
numeric
types and bytes would be fine. The main thing i’d be worried about is where the 
RHS
may possibly contain something non ASCII that needs encoding (such as the str 
case).


-----------------
Donald Stufft
PGP: 0x6E3CBCE93372DCFA // 7C6B 7C5D 5E2B 6356 A926 F04F 6E3C BCE9 3372 DCFA

Attachment: signature.asc
Description: Message signed with OpenPGP using GPGMail

_______________________________________________
Python-Dev mailing list
Python-Dev@python.org
https://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
https://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com

Reply via email to