From: Terry Jan Reedy Date: Fri, 12 Feb 2021 00:31:10 +0000 (-0500) Subject: bpo-43202: Immediately return code object in codeop._maybe_compile (GH-24508) X-Git-Tag: v3.10.0a6~98 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=2068b261e95e9fe9c4041f0102c9e931692dd5aa;p=thirdparty%2FPython%2Fcpython.git bpo-43202: Immediately return code object in codeop._maybe_compile (GH-24508) The return used to be after code that was ignored when there was a code object. --- diff --git a/Lib/codeop.py b/Lib/codeop.py index 7a08610239c3..b3af93f1e18f 100644 --- a/Lib/codeop.py +++ b/Lib/codeop.py @@ -77,10 +77,10 @@ def _maybe_compile(compiler, source, filename, symbol): source = "pass" # Replace it with a 'pass' statement err = err1 = err2 = None - code = code1 = code2 = None + code1 = code2 = None try: - code = compiler(source, filename, symbol) + return compiler(source, filename, symbol) except SyntaxError: pass @@ -100,8 +100,6 @@ def _maybe_compile(compiler, source, filename, symbol): err2 = e try: - if code: - return code if not code1 and _is_syntax_error(err1, err2): raise err1 finally: