Mercurial > cpython-lru_cache-weakref
diff Objects/stringobject.c @ 82938:391e3a7db1a3 2.7
allow any type with __getitem__ to be a mapping for the purposes of % (#15801)
| author | Benjamin Peterson <benjamin@python.org> |
|---|---|
| date | Sat, 23 Mar 2013 22:32:00 -0500 |
| parents | 4d120cea3507 |
| children | 2921f6c2009e |
line wrap: on
line diff
--- a/Objects/stringobject.c Sat Mar 23 16:35:45 2013 -0500 +++ b/Objects/stringobject.c Sat Mar 23 22:32:00 2013 -0500 @@ -4257,8 +4257,8 @@ arglen = -1; argidx = -2; } - if (PyMapping_Check(args) && !PyTuple_Check(args) && - !PyObject_TypeCheck(args, &PyBaseString_Type)) + if (Py_TYPE(args)->tp_as_mapping && Py_TYPE(args)->tp_as_mapping->mp_subscript && + !PyTuple_Check(args) && !PyObject_TypeCheck(args, &PyBaseString_Type)) dict = args; while (--fmtcnt >= 0) { if (*fmt != '%') {
