diff options
-rw-r--r-- | Lib/configparser.py | 3 | ||||
-rw-r--r-- | Lib/test/test_configparser.py | 6 | ||||
-rw-r--r-- | Misc/NEWS.d/next/Library/2018-04-23-18-25-36.bpo-33251.C_K-J9.rst | 2 |
3 files changed, 6 insertions, 5 deletions
diff --git a/Lib/configparser.py b/Lib/configparser.py index 33dc9b9..a681d39 100644 --- a/Lib/configparser.py +++ b/Lib/configparser.py @@ -846,6 +846,7 @@ class RawConfigParser(MutableMapping): except KeyError: if section != self.default_section: raise NoSectionError(section) + orig_keys = list(d.keys()) # Update with the entry specific variables if vars: for key, value in vars.items(): @@ -854,7 +855,7 @@ class RawConfigParser(MutableMapping): section, option, d[option], d) if raw: value_getter = lambda option: d[option] - return [(option, value_getter(option)) for option in d.keys()] + return [(option, value_getter(option)) for option in orig_keys] def popitem(self): """Remove a section from the parser and return it as diff --git a/Lib/test/test_configparser.py b/Lib/test/test_configparser.py index 4d07203..87b811f 100644 --- a/Lib/test/test_configparser.py +++ b/Lib/test/test_configparser.py @@ -915,8 +915,7 @@ class ConfigParserTestCase(BasicTestCase, unittest.TestCase): self.check_items_config([('default', '<default>'), ('getdefault', '|<default>|'), ('key', '|value|'), - ('name', 'value'), - ('value', 'value')]) + ('name', 'value')]) def test_safe_interpolation(self): # See http://www.python.org/sf/511737 @@ -1093,8 +1092,7 @@ class RawConfigParserTestCase(BasicTestCase, unittest.TestCase): self.check_items_config([('default', '<default>'), ('getdefault', '|%(default)s|'), ('key', '|%(name)s|'), - ('name', '%(value)s'), - ('value', 'value')]) + ('name', '%(value)s')]) def test_set_nonstring_types(self): cf = self.newconfig() diff --git a/Misc/NEWS.d/next/Library/2018-04-23-18-25-36.bpo-33251.C_K-J9.rst b/Misc/NEWS.d/next/Library/2018-04-23-18-25-36.bpo-33251.C_K-J9.rst new file mode 100644 index 0000000..fc6861f --- /dev/null +++ b/Misc/NEWS.d/next/Library/2018-04-23-18-25-36.bpo-33251.C_K-J9.rst @@ -0,0 +1,2 @@ +`ConfigParser.items()` was fixed so that key-value pairs passed in via `vars` +are not included in the resulting output. |