From 8dd3a78fbbfce3cc898ce1155ba680c89488d61f Mon Sep 17 00:00:00 2001 From: "mark.dickinson" Date: Mon, 7 Sep 2009 16:17:41 +0000 Subject: [PATCH] Issue #6850: Fix bug in Decimal._parse_format_specifier for formats with no type specifier. git-svn-id: http://svn.python.org/projects/python/trunk@74704 6015fed2-1504-0410-9fe1-9d1591cc4771 --- Lib/decimal.py | 2 +- Lib/test/test_decimal.py | 3 +++ Misc/NEWS | 3 +++ 3 files changed, 7 insertions(+), 1 deletion(-) diff --git a/Lib/decimal.py b/Lib/decimal.py index e7864534dc..1f5c920d79 100644 --- a/Lib/decimal.py +++ b/Lib/decimal.py @@ -5512,7 +5512,7 @@ def _parse_format_specifier(format_spec, _localeconv=None): # if format type is 'g' or 'G' then a precision of 0 makes little # sense; convert it to 1. Same if format type is unspecified. if format_dict['precision'] == 0: - if format_dict['type'] in 'gG' or format_dict['type'] is None: + if format_dict['type'] is None or format_dict['type'] in 'gG': format_dict['precision'] = 1 # determine thousands separator, grouping, and decimal separator, and diff --git a/Lib/test/test_decimal.py b/Lib/test/test_decimal.py index 0be901abb1..f7f023d22d 100644 --- a/Lib/test/test_decimal.py +++ b/Lib/test/test_decimal.py @@ -760,6 +760,9 @@ class DecimalFormatTest(unittest.TestCase): (',%', '123.456789', '12,345.6789%'), (',e', '123456', '1.23456e+5'), (',E', '123456', '1.23456E+5'), + + # issue 6850 + ('a=-7.0', '0.12345', 'aaaa0.1'), ] for fmt, d, result in test_values: self.assertEqual(format(Decimal(d), fmt), result) diff --git a/Misc/NEWS b/Misc/NEWS index 94f4399639..fe281cf014 100644 --- a/Misc/NEWS +++ b/Misc/NEWS @@ -366,6 +366,9 @@ Core and Builtins Library ------- +- Issue #6850: Fix bug in Decimal._parse_format_specifier for formats + with no type specifier. + - Issue #4937: plat-mac/bundlebuilder revers to non-existing version.plist - Issue #6838: Use a list to accumulate the value instead of -- 2.11.4.GIT