From cfb004b4db82e7ca54e256ffa811d80f169ff295 Mon Sep 17 00:00:00 2001 From: matz Date: Fri, 6 Jun 2003 09:44:22 +0000 Subject: * gc.c (define_final): eliminate rb_f_lambda() call. * class.c (rb_scan_args): ditto. * signal.c (sig_trap): ditto. * hash.c (rb_hash_initialize): ditto. * variable.c (rb_f_trace_var): ditto. * ext/dl/dl.c (rb_dl_callback): ditto. * ext/win32ole/win32ole.c (ev_on_event): ditto. * eval.c (ruby_cleanup): $SAFE is turned off in the finalization. Each END proc should preserve its own $SAFE level. [ruby-core:01119] * marshal.c (marshal_load): remove unused variable "hash". [ruby-core:01120] * hash.c (env_str_new): freeze strings from ENV. [ruby-talk:72860] * array.c (rb_ary_first): optional argument to retrieve first n elements. * array.c (rb_ary_last): optional argument to retrieve last n elements. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@3915 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- gc.c | 40 ++++++++++++++++++++-------------------- 1 file changed, 20 insertions(+), 20 deletions(-) (limited to 'gc.c') diff --git a/gc.c b/gc.c index cc1e93bef..01f59dac9 100644 --- a/gc.c +++ b/gc.c @@ -1411,25 +1411,25 @@ os_each_obj(argc, argv) static VALUE finalizers; static VALUE -add_final(os, proc) - VALUE os, proc; +add_final(os, block) + VALUE os, block; { rb_warn("ObjectSpace::add_finalizer is deprecated; use define_finalizer"); - if (!rb_obj_is_kind_of(proc, rb_cProc)) { - rb_raise(rb_eArgError, "wrong type argument %s (Proc required)", - rb_obj_classname(proc)); + if (!rb_obj_is_kind_of(block, rb_cBlock)) { + rb_raise(rb_eArgError, "wrong type argument %s (Block required)", + rb_obj_classname(block)); } - rb_ary_push(finalizers, proc); - return proc; + rb_ary_push(finalizers, block); + return block; } static VALUE -rm_final(os, proc) - VALUE os, proc; +rm_final(os, block) + VALUE os, block; { rb_warn("ObjectSpace::remove_finalizer is deprecated; use undefine_finalizer"); - rb_ary_delete(finalizers, proc); - return proc; + rb_ary_delete(finalizers, block); + return block; } static VALUE @@ -1465,15 +1465,15 @@ define_final(argc, argv, os) VALUE *argv; VALUE os; { - VALUE obj, proc, table; + VALUE obj, block, table; - rb_scan_args(argc, argv, "11", &obj, &proc); + rb_scan_args(argc, argv, "11", &obj, &block); if (argc == 1) { - proc = rb_f_lambda(); + block = rb_block_new(); } - else if (!rb_obj_is_kind_of(proc, rb_cProc)) { - rb_raise(rb_eArgError, "wrong type argument %s (Proc required)", - rb_obj_classname(proc)); + else if (!rb_obj_is_kind_of(block, rb_cBlock)) { + rb_raise(rb_eArgError, "wrong type argument %s (Block required)", + rb_obj_classname(block)); } need_call_final = 1; FL_SET(obj, FL_FINALIZE); @@ -1482,12 +1482,12 @@ define_final(argc, argv, os) finalizer_table = st_init_numtable(); } if (st_lookup(finalizer_table, obj, &table)) { - rb_ary_push(table, proc); + rb_ary_push(table, block); } else { - st_add_direct(finalizer_table, obj, rb_ary_new3(1, proc)); + st_add_direct(finalizer_table, obj, rb_ary_new3(1, block)); } - return proc; + return block; } void -- cgit