diff options
-rw-r--r-- | Lib/test/test_unicode.py | 2 | ||||
-rw-r--r-- | Python/formatter_unicode.c | 3 |
2 files changed, 5 insertions, 0 deletions
diff --git a/Lib/test/test_unicode.py b/Lib/test/test_unicode.py index 813d59f..7b0397e 100644 --- a/Lib/test/test_unicode.py +++ b/Lib/test/test_unicode.py @@ -1056,6 +1056,8 @@ class UnicodeTest(string_tests.CommonTest, self.assertEqual('%f' % INF, 'inf') self.assertEqual('%F' % INF, 'INF') + self.assertEqual(format("\u0410\u0411\u0412", "s"), "АБВ") + def test_startswith_endswith_errors(self): for meth in ('foo'.startswith, 'foo'.endswith): with self.assertRaises(TypeError) as cm: diff --git a/Python/formatter_unicode.c b/Python/formatter_unicode.c index 58e66e0..5e5b19f 100644 --- a/Python/formatter_unicode.c +++ b/Python/formatter_unicode.c @@ -747,6 +747,9 @@ format_string_internal(PyObject *value, const InternalFormatSpec *format) len = format->precision; } + if (len) + maxchar = PyUnicode_MAX_CHAR_VALUE(value); + calc_padding(len, format->width, format->align, &lpad, &rpad, &total); if (lpad != 0 || rpad != 0) |