public void put(String name, Scriptable start, Object value) {
if (sealed) return;
if (name == null || name.equals("")) return;
+
+ if (getPrivately(name, getCurrentFunctionSourceName()) != null)
+ putPrivately(name, value, getCurrentFunctionSourceName());
+
for(Scriptable cur = Context.enter().currentFunction; cur != null; cur = cur.getParentScope())
if (cur == this) {
putPrivately(name, value, getCurrentFunctionSourceName());