Skip to content

Commit a765762

Browse files
committed
fix-locals-scoping
1 parent 494bdd2 commit a765762

1 file changed

Lines changed: 7 additions & 2 deletions

File tree

IPython/core/guarded_eval.py

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -736,8 +736,13 @@ def dummy_function(*args, **kwargs):
736736
return None
737737
if isinstance(node, ast.ClassDef):
738738
# TODO support class decorators?
739-
class_locals = context.transient_locals.copy()
740-
class_context = context.replace(transient_locals=class_locals)
739+
# class_locals = context.transient_locals.copy()
740+
class_locals = {}
741+
outer_locals = context.locals.copy()
742+
outer_locals.update(context.transient_locals)
743+
class_context = context.replace(
744+
transient_locals=class_locals, locals=outer_locals
745+
)
741746
class_context.class_transients = class_locals
742747
for child_node in node.body:
743748
eval_node(child_node, class_context)

0 commit comments

Comments
 (0)