mirror of https://github.com/python/cpython
Patch #409504: Fix regex problems, consider \-continuation lines in Makefile
and Setup.
This commit is contained in:
parent
55f826cd6a
commit
2c91c815d4
|
@ -12,7 +12,7 @@ def makeconfig(infp, outfp, modules, with_ifdef=0):
|
|||
line = infp.readline()
|
||||
if not line: break
|
||||
outfp.write(line)
|
||||
if m1 and m1.search(line) >= 0:
|
||||
if m1 and m1.search(line):
|
||||
m1 = None
|
||||
for mod in modules:
|
||||
if mod in never:
|
||||
|
@ -22,7 +22,7 @@ def makeconfig(infp, outfp, modules, with_ifdef=0):
|
|||
outfp.write('extern void init%s();\n' % mod)
|
||||
if with_ifdef:
|
||||
outfp.write("#endif\n")
|
||||
elif m2 and m2.search(line) >= 0:
|
||||
elif m2 and m2.search(line):
|
||||
m2 = None
|
||||
for mod in modules:
|
||||
if mod in never:
|
||||
|
|
|
@ -13,11 +13,17 @@ makevardef = re.compile('^([a-zA-Z0-9_]+)[ \t]*=(.*)')
|
|||
def getmakevars(filename):
|
||||
variables = {}
|
||||
fp = open(filename)
|
||||
pendingline = ""
|
||||
try:
|
||||
while 1:
|
||||
line = fp.readline()
|
||||
if pendingline:
|
||||
line = pendingline + line
|
||||
pendingline = ""
|
||||
if not line:
|
||||
break
|
||||
if line.endswith('\\\n'):
|
||||
pendingline = line[:-2]
|
||||
matchobj = makevardef.match(line)
|
||||
if not matchobj:
|
||||
continue
|
||||
|
@ -44,15 +50,22 @@ def getsetupinfo(filename):
|
|||
modules = {}
|
||||
variables = {}
|
||||
fp = open(filename)
|
||||
pendingline = ""
|
||||
try:
|
||||
while 1:
|
||||
line = fp.readline()
|
||||
if pendingline:
|
||||
line = pendingline + line
|
||||
pendingline = ""
|
||||
if not line:
|
||||
break
|
||||
# Strip comments
|
||||
i = string.find(line, '#')
|
||||
if i >= 0:
|
||||
line = line[:i]
|
||||
if line.endswith('\\\n'):
|
||||
pendingline = line[:-2]
|
||||
continue
|
||||
matchobj = setupvardef.match(line)
|
||||
if matchobj:
|
||||
(name, value) = matchobj.group(1, 2)
|
||||
|
|
Loading…
Reference in New Issue