From 2068b261e95e9fe9c4041f0102c9e931692dd5aa Mon Sep 17 00:00:00 2001 From: Terry Jan Reedy Date: Thu, 11 Feb 2021 19:31:10 -0500 Subject: [PATCH] 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. --- Lib/codeop.py | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/Lib/codeop.py b/Lib/codeop.py index 7a08610239c..b3af93f1e18 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: