default_proc=(p1)
public
static VALUE
rb_hash_set_default_proc(VALUE hash, VALUE proc)
{
VALUE b;
rb_hash_modify(hash);
b = rb_check_convert_type(proc, T_DATA, "Proc", "to_proc");
if (NIL_P(b) || !rb_obj_is_proc(b)) {
rb_raise(rb_eTypeError,
"wrong default_proc type %s (expected Proc)",
rb_obj_classname(proc));
}
proc = b;
default_proc_arity_check(proc);
RHASH_IFNONE(hash) = proc;
FL_SET(hash, HASH_PROC_DEFAULT);
return proc;
}