mirror of
https://github.com/python/cpython.git
synced 2025-08-30 21:48:47 +00:00
Allow internal whitespace in keys.
Closes SF bug #583248; backporting to r22-maint branch.
This commit is contained in:
parent
2ca041fde0
commit
176916a989
2 changed files with 10 additions and 3 deletions
|
@ -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
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue