diff options
Diffstat (limited to 'Lib/ConfigParser.py')
-rw-r--r-- | Lib/ConfigParser.py | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/Lib/ConfigParser.py b/Lib/ConfigParser.py index 47243fb..842a576 100644 --- a/Lib/ConfigParser.py +++ b/Lib/ConfigParser.py @@ -418,7 +418,7 @@ class ConfigParser: r'\]' # ] ) OPTCRE = re.compile( - r'(?P<option>[^:=\s]+)' # very permissive! + r'(?P<option>[^:=\s][^:=]*)' # very permissive! r'\s*(?P<vi>[:=])\s*' # any number of space/tab, # followed by separator # (either : or =), followed @@ -448,7 +448,8 @@ class ConfigParser: # comment or blank line? if line.strip() == '' or line[0] in '#;': continue - if line.split(None, 1)[0].lower() == 'rem' and line[0] in "rR": # no leading whitespace + if line.split(None, 1)[0].lower() == 'rem' and line[0] in "rR": + # no leading whitespace continue # continuation line? if line[0].isspace() and cursect is not None and optname: @@ -488,7 +489,7 @@ class ConfigParser: # allow empty values if optval == '""': optval = '' - optname = self.optionxform(optname) + optname = self.optionxform(optname.rstrip()) cursect[optname] = optval else: # a non-fatal parsing error occurred. set up the |