/* * call-seq: * Debugger.debug_load(file, stop = false) -> nil * * Same as Kernel#load but resets current context's frames. * +stop+ parameter force the debugger to stop at the first line of code in the +file+ * FOR INTERNAL USE ONLY. */ static VALUE debug_debug_load(int argc, VALUE *argv, VALUE self) { VALUE file, stop, context; debug_context_t *debug_context; if(rb_scan_args(argc, argv, "11", &file, &stop) == 1) stop = Qfalse; debug_start(self); context = debug_current_context(self); Data_Get_Struct(context, debug_context_t, debug_context); debug_context->stack_size = 0; if(RTEST(stop)) debug_context->stop_next = 1; rb_load(file, 0); debug_stop(self); return Qnil; }