pike.git/src/apply_low.h:139: Inside #if defined(PIKE_DEBUG)
{
describe(new_frame->context->prog);
}
}
#endif
new_frame->expendible = new_frame->locals = Pike_sp - args;
new_frame->args = args;
new_frame->pc = 0;
- #ifdef SCOPE
+
new_frame->scope=scope;
#ifdef PIKE_DEBUG
- if(new_frame->fun == scope->fun)
+ if(scope && new_frame->fun == scope->fun)
{
Pike_fatal("Que? A function cannot be parented by itself!\n");
}
#endif
- #else
- new_frame->scope=0;
- #endif
+
new_frame->save_sp=save_sp;
add_ref(new_frame->current_object);
add_ref(new_frame->current_program);
- #ifdef SCOPE
+
if(new_frame->scope) add_ref(new_frame->scope);
- #endif
+
#ifdef PIKE_DEBUG
if (Pike_fp) {
if (new_frame->locals < Pike_fp->locals) {
fatal("New locals below old locals: %p < %p\n",
new_frame->locals, Pike_fp->locals);
}
if (d_flag > 1) {
/* Liberal use of variables for debugger convenience. */