diff options
author | Chris Bradbury <chris@binaryspanner.com> | 2018-04-23 19:16:17 (GMT) |
---|---|---|
committer | Ćukasz Langa <lukasz@langa.pl> | 2018-04-23 19:16:17 (GMT) |
commit | 1d4a733cceee237f0850b7887c2945dee707da27 (patch) | |
tree | 7669a141d360b6a19d2d51ecf202701468614cc9 /Lib/configparser.py | |
parent | 25038ecfb665bef641abf8cb61afff7505b0e008 (diff) | |
download | cpython-1d4a733cceee237f0850b7887c2945dee707da27.zip cpython-1d4a733cceee237f0850b7887c2945dee707da27.tar.gz cpython-1d4a733cceee237f0850b7887c2945dee707da27.tar.bz2 |
bpo-33251: Prevent ConfigParser.items returning items present in vars. (#6446)
* bpo-33251: ConfigParser.items no longer returns items present in vars.
Documentation for `ConfigParser.items()` states:
'Items present in vars no longer appear in the result.'
This fix aligns behaviour to that specified in the documentation.
Diffstat (limited to 'Lib/configparser.py')
-rw-r--r-- | Lib/configparser.py | 3 |
1 files changed, 2 insertions, 1 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 |