diff options
author | matz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2001-04-06 05:42:43 +0000 |
---|---|---|
committer | matz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2001-04-06 05:42:43 +0000 |
commit | 0c176f00c12c32bbfa2d197fd9bf2f2c81c1573d (patch) | |
tree | 4a147a1436c047ffa126e887ab3684fbe999e1c9 /object.c | |
parent | 2c29a1c0e9ab81f993e2391a80c2c12cdca458dd (diff) |
* variable.c (rb_const_get): no recursion to show full class path
for modules.
* eval.c (rb_set_safe_level): should set safe level in curr_thread
as well.
* eval.c (safe_setter): ditto.
* object.c (rb_obj_is_instance_of): nil belongs to false, not true.
* time.c (make_time_t): proper (I hope) daylight saving time
handling for both US and Europe. I HATE SUMMER TIME!
* eval.c (rb_thread_wait_for): non blocked signal interrupt should
stop the interval.
* class.c (rb_mod_clone): should copy method bodies too.
* bignum.c (bigdivrem): should trim trailing zero bdigits of
remainder, even if dd == 0.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_6@1307 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'object.c')
-rw-r--r-- | object.c | 36 |
1 files changed, 2 insertions, 34 deletions
@@ -229,12 +229,10 @@ rb_obj_is_instance_of(obj, c) return Qfalse; case T_FALSE: - if (obj) return Qfalse; - return Qtrue; + return RTEST(obj) ? Qfalse : Qtrue; case T_TRUE: - if (obj) return Qtrue; - return Qfalse; + return RTEST(obj) ? Qtrue : Qfalse; default: rb_raise(rb_eTypeError, "class or module required"); @@ -519,36 +517,6 @@ sym_to_s(sym) } static VALUE -rb_mod_clone(module) - VALUE module; -{ - NEWOBJ(clone, struct RClass); - CLONESETUP(clone, module); - - clone->super = RCLASS(module)->super; - if (RCLASS(module)->iv_tbl) { - clone->iv_tbl = st_copy(RCLASS(module)->iv_tbl); - } - if (RCLASS(module)->m_tbl) { - clone->m_tbl = st_copy(RCLASS(module)->m_tbl); - } - - return (VALUE)clone; -} - -static VALUE -rb_mod_dup(mod) - VALUE mod; -{ - VALUE dup = rb_mod_clone(mod); - OBJSETUP(dup, RBASIC(mod)->klass, BUILTIN_TYPE(mod)); - if (FL_TEST(mod, FL_SINGLETON)) { - FL_SET(dup, FL_SINGLETON); - } - return dup; -} - -static VALUE rb_mod_to_s(klass) VALUE klass; { |