From: Martin v. Löwis Date: Wed, 21 Mar 2001 06:58:25 +0000 (+0000) Subject: Patch #409504: Fix regex problems, consider \-continuation lines in Makefile X-Git-Tag: v2.1b2~120 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=2c91c815d42b24254a08df148c5ee5aafd547abc;p=thirdparty%2FPython%2Fcpython.git Patch #409504: Fix regex problems, consider \-continuation lines in Makefile and Setup. --- diff --git a/Tools/freeze/makeconfig.py b/Tools/freeze/makeconfig.py index 11c97d8bd052..687f27177bac 100644 --- a/Tools/freeze/makeconfig.py +++ b/Tools/freeze/makeconfig.py @@ -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: diff --git a/Tools/freeze/parsesetup.py b/Tools/freeze/parsesetup.py index 7f90075e8b42..7a6b72ef7705 100644 --- a/Tools/freeze/parsesetup.py +++ b/Tools/freeze/parsesetup.py @@ -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)