[Python-checkins] bpo-43202: Immediately return code object in codeop._maybe_compile (GH-24508)

terryjreedy webhook-mailer at python.org
Thu Feb 11 19:31:19 EST 2021


https://github.com/python/cpython/commit/2068b261e95e9fe9c4041f0102c9e931692dd5aa
commit: 2068b261e95e9fe9c4041f0102c9e931692dd5aa
branch: master
author: Terry Jan Reedy <tjreedy at udel.edu>
committer: terryjreedy <tjreedy at udel.edu>
date: 2021-02-11T19:31:10-05:00
summary:

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.

files:
M Lib/codeop.py

diff --git a/Lib/codeop.py b/Lib/codeop.py
index 7a08610239c35..b3af93f1e18f5 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:



More information about the Python-checkins mailing list