1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00

* array.c (rb_ary_equal): check identiry equality first.

* string.c (rb_str_equal): ditto.

* struct.c (rb_struct_equal): ditto.

* numeric.c (Init_Numeric): undef Integer::new.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_6@1711 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
matz 2001-08-24 06:36:14 +00:00
parent 422b6dc8dd
commit 150daae136
6 changed files with 18 additions and 5 deletions

View file

@ -1,3 +1,11 @@
Fri Aug 24 15:17:40 2001 Yukihiro Matsumoto <matz@ruby-lang.org>
* array.c (rb_ary_equal): check identiry equality first.
* string.c (rb_str_equal): ditto.
* struct.c (rb_struct_equal): ditto.
Fri Aug 24 14:45:26 2001 Usaku Nakamura <usa@ruby-lang.org>
* dln.c (dln_strerror): fix a bug that sometimes made null message on
@ -5,6 +13,10 @@ Fri Aug 24 14:45:26 2001 Usaku Nakamura <usa@ruby-lang.org>
* win32/win32.c (mystrerror): ditto.
Fri Aug 24 03:15:07 2001 Yukihiro Matsumoto <matz@ruby-lang.org>
* numeric.c (Init_Numeric): undef Integer::new.
Thu Aug 23 10:10:59 2001 Yukihiro Matsumoto <matz@ruby-lang.org>
* eval.c (is_defined): should not dump core for "defined?(())".

View file

@ -1341,6 +1341,7 @@ rb_ary_equal(ary1, ary2)
{
long i;
if (ary1 == ary2) return Qtrue;
if (TYPE(ary2) != T_ARRAY) return Qfalse;
if (RARRAY(ary1)->len != RARRAY(ary2)->len) return Qfalse;
for (i=0; i<RARRAY(ary1)->len; i++) {

View file

@ -1418,8 +1418,6 @@ Init_Bignum()
{
rb_cBignum = rb_define_class("Bignum", rb_cInteger);
rb_undef_method(CLASS_OF(rb_cBignum), "new");
rb_define_method(rb_cBignum, "to_s", rb_big_to_s, 0);
rb_define_method(rb_cBignum, "coerce", rb_big_coerce, 1);
rb_define_method(rb_cBignum, "-@", rb_big_uminus, 0);

View file

@ -1125,7 +1125,7 @@ fix_equal(x, y)
VALUE x, y;
{
if (FIXNUM_P(y)) {
return (FIX2LONG(x) == FIX2LONG(y))?Qtrue:Qfalse;
return (x == y)?Qtrue:Qfalse;
}
else {
return num_equal(x, y);
@ -1556,6 +1556,8 @@ Init_Numeric()
rb_define_method(rb_cNumeric, "truncate", num_truncate, 0);
rb_cInteger = rb_define_class("Integer", rb_cNumeric);
rb_undef_method(CLASS_OF(rb_cInteger), "new");
rb_define_method(rb_cInteger, "integer?", int_int_p, 0);
rb_define_method(rb_cInteger, "upto", int_upto, 1);
rb_define_method(rb_cInteger, "downto", int_downto, 1);
@ -1577,8 +1579,6 @@ Init_Numeric()
rb_define_singleton_method(rb_cFixnum, "induced_from", rb_fix_induced_from, 1);
rb_define_singleton_method(rb_cInteger, "induced_from", rb_int_induced_from, 1);
rb_undef_method(CLASS_OF(rb_cFixnum), "new");
rb_define_method(rb_cFixnum, "to_s", fix_to_s, 0);
rb_define_method(rb_cFixnum, "type", fix_type, 0);

View file

@ -565,6 +565,7 @@ static VALUE
rb_str_equal(str1, str2)
VALUE str1, str2;
{
if (str1 == str2) return Qtrue;
if (TYPE(str2) != T_STRING)
return Qfalse;

View file

@ -525,6 +525,7 @@ rb_struct_equal(s, s2)
{
long i;
if (s == s2) return Qtrue;
if (TYPE(s2) != T_STRUCT) return Qfalse;
if (CLASS_OF(s) != CLASS_OF(s2)) return Qfalse;
if (RSTRUCT(s)->len != RSTRUCT(s2)->len) {