diff options
author | matz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2003-06-06 09:44:22 +0000 |
---|---|---|
committer | matz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2003-06-06 09:44:22 +0000 |
commit | bad7546f15573e06208651a39b9c41ff921c25a2 (patch) | |
tree | 08e46c18c451065e8bde952eb9765177edac3cc7 /gc.c | |
parent | 9e77e91a13a8ae1d8bb4bba8974da390fbadedc0 (diff) |
* 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: svn+ssh://ci.ruby-lang.org/ruby/trunk@3915 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'gc.c')
-rw-r--r-- | gc.c | 40 |
1 files changed, 20 insertions, 20 deletions
@@ -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 |