Access checks now work, at least for instance data (not for methods
yet). The class is now passed to eval_code and stored in the current
frame. It is also stored in instance method objects. An "unbound"
instance method is now returned when a function is retrieved through
"classname.funcname", which when called passes the class to eval_code.
diff --git a/Python/import.c b/Python/import.c
index ec21b4c..395114b 100644
--- a/Python/import.c
+++ b/Python/import.c
@@ -303,7 +303,7 @@
}
}
}
- v = eval_code(co, d, d, (object *)NULL);
+ v = eval_code(co, d, d, (object *)NULL, (object *)NULL);
DECREF(co);
return v;
}
@@ -422,7 +422,7 @@
return -1;
if ((m = add_module(name)) == NULL ||
(d = getmoduledict(m)) == NULL ||
- (v = eval_code(co, d, d, (object *)NULL)) == NULL) {
+ (v = eval_code(co, d, d, (object*)NULL, (object*)NULL)) == NULL) {
DECREF(co);
return -1;
}