changeset: 78794:263d09ce3e9e parent: 78790:454dceb5fd56 parent: 78793:4d431e719646 user: Benjamin Peterson date: Tue Aug 28 18:01:45 2012 -0400 files: Lib/test/string_tests.py Misc/NEWS Objects/unicodeobject.c description: merge 3.2 (#15801) diff -r 454dceb5fd56 -r 263d09ce3e9e Lib/test/string_tests.py --- a/Lib/test/string_tests.py Tue Aug 28 20:10:18 2012 +0200 +++ b/Lib/test/string_tests.py Tue Aug 28 18:01:45 2012 -0400 @@ -1206,6 +1206,9 @@ self.checkraises(ValueError, '%%%df' % (2**64), '__mod__', (3.2)) self.checkraises(ValueError, '%%.%df' % (2**64), '__mod__', (3.2)) + class X(object): pass + self.checkraises(TypeError, 'abc', '__mod__', X()) + def test_floatformatting(self): # float formatting for prec in range(100): diff -r 454dceb5fd56 -r 263d09ce3e9e Misc/NEWS --- a/Misc/NEWS Tue Aug 28 20:10:18 2012 +0200 +++ b/Misc/NEWS Tue Aug 28 18:01:45 2012 -0400 @@ -71,6 +71,9 @@ - Issue #15761: Fix crash when PYTHONEXECUTABLE is set on Mac OS X. +- Issue #15801: Make sure mappings passed to '%' formatting are actually + subscriptable. + - Issue #15726: Fix incorrect bounds checking in PyState_FindModule. Patch by Robin Schreiber. diff -r 454dceb5fd56 -r 263d09ce3e9e Objects/unicodeobject.c --- a/Objects/unicodeobject.c Tue Aug 28 20:10:18 2012 +0200 +++ b/Objects/unicodeobject.c Tue Aug 28 18:01:45 2012 -0400 @@ -13461,8 +13461,7 @@ arglen = -1; argidx = -2; } - if (Py_TYPE(args)->tp_as_mapping && !PyTuple_Check(args) && - !PyUnicode_Check(args)) + if (PyMapping_Check(args) && !PyTuple_Check(args) && !PyUnicode_Check(args)) dict = args; while (--fmtcnt>= 0) {

AltStyle によって変換されたページ (->オリジナル) /