Project

General

Profile

Bug #1283 ยป vm_eval.patch

cfis (Charlie Savage), 03/13/2009 05:22 PM

View differences:

vm_eval.c (working copy)
return yield_under(mod, mod, rb_ary_new4(argc, argv));
}
NORETURN(static VALUE rb_f_throw _((int, VALUE *)));
NORETURN(static void rb_f_throw _((int, VALUE *)));
/*
* call-seq:
......
* <code>Kernel::catch</code>.
*/
static VALUE
static void
rb_f_throw(int argc, VALUE *argv)
{
VALUE tag, value;
......
th->errinfo = NEW_THROW_OBJECT(tag, 0, TAG_THROW);
JUMP_TAG(TAG_THROW);
#ifndef __GNUC__
return Qnil; /* not reached */
#endif
}
void
......
rb_define_global_function("block_given?", rb_f_block_given_p, 0);
rb_define_global_function("catch", rb_f_catch, -1);
rb_define_global_function("throw", rb_f_throw, -1);
rb_define_global_function("throw", (VALUE (*)())rb_f_throw, -1);
rb_define_global_function("loop", rb_f_loop, 0);
    (1-1/1)