diff --git a/Include/internal/pycore_compile.h b/Include/internal/pycore_compile.h index 2304d698474..f089eb05097 100644 --- a/Include/internal/pycore_compile.h +++ b/Include/internal/pycore_compile.h @@ -133,8 +133,7 @@ int _PyCompile_LookupCellvar(struct _PyCompiler *c, PyObject *name); int _PyCompile_ResolveNameop(struct _PyCompiler *c, PyObject *mangled, int scope, _PyCompile_optype *optype, Py_ssize_t *arg); -int _PyCompile_IsInteractive(struct _PyCompiler *c); -int _PyCompile_IsNestedScope(struct _PyCompiler *c); +int _PyCompile_IsInteractiveTopLevel(struct _PyCompiler *c); int _PyCompile_IsInInlinedComp(struct _PyCompiler *c); int _PyCompile_ScopeType(struct _PyCompiler *c); int _PyCompile_OptimizationLevel(struct _PyCompiler *c); diff --git a/Python/codegen.c b/Python/codegen.c index 5565d3011c4..0305f4299ae 100644 --- a/Python/codegen.c +++ b/Python/codegen.c @@ -70,8 +70,7 @@ typedef struct _PyCompiler compiler; #define SYMTABLE(C) _PyCompile_Symtable(C) #define SYMTABLE_ENTRY(C) _PyCompile_SymtableEntry(C) #define OPTIMIZATION_LEVEL(C) _PyCompile_OptimizationLevel(C) -#define IS_INTERACTIVE(C) _PyCompile_IsInteractive(C) -#define IS_NESTED_SCOPE(C) _PyCompile_IsNestedScope(C) +#define IS_INTERACTIVE_TOP_LEVEL(C) _PyCompile_IsInteractiveTopLevel(C) #define SCOPE_TYPE(C) _PyCompile_ScopeType(C) #define QUALNAME(C) _PyCompile_Qualname(C) #define METADATA(C) _PyCompile_Metadata(C) @@ -2823,7 +2822,7 @@ codegen_assert(compiler *c, stmt_ty s) static int codegen_stmt_expr(compiler *c, location loc, expr_ty value) { - if (IS_INTERACTIVE(c) && !IS_NESTED_SCOPE(c)) { + if (IS_INTERACTIVE_TOP_LEVEL(c)) { VISIT(c, expr, value); ADDOP_I(c, loc, CALL_INTRINSIC_1, INTRINSIC_PRINT); ADDOP(c, NO_LOCATION, POP_TOP); diff --git a/Python/compile.c b/Python/compile.c index e1d2c30944d..cdd48782575 100644 --- a/Python/compile.c +++ b/Python/compile.c @@ -1204,17 +1204,12 @@ _PyCompile_OptimizationLevel(compiler *c) } int -_PyCompile_IsInteractive(compiler *c) -{ - return c->c_interactive; -} - -int -_PyCompile_IsNestedScope(compiler *c) +_PyCompile_IsInteractiveTopLevel(compiler *c) { assert(c->c_stack != NULL); assert(PyList_CheckExact(c->c_stack)); - return PyList_GET_SIZE(c->c_stack) > 0; + bool is_nested_scope = PyList_GET_SIZE(c->c_stack) > 0; + return c->c_interactive && !is_nested_scope; } int