aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authormatz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2004-04-02 08:35:32 +0000
committermatz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2004-04-02 08:35:32 +0000
commitc0ab40c785d71c5b2b41c69731b61fe4ba9f8c0f (patch)
treebc8b476e1670d24b014a3d9f024c65b7f73e483d
parent6c70639e7b2e49ff4491219c83333e8749baa56e (diff)
downloadruby-c0ab40c785d71c5b2b41c69731b61fe4ba9f8c0f.tar.gz
* eval.c (top_include): include in the wrapped load is done for
the wrapper, not for a singleton class for wrapped main. [ruby-dev:23305] * bignum.c (rb_big_eq): use temporary double variable to save the result (internal float register may be bigger than 64 bits, for example, 80 bits on x86). [ruby-dev:23311] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@6076 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r--ChangeLog16
-rw-r--r--bignum.c11
-rw-r--r--eval.c8
-rw-r--r--numeric.c1
4 files changed, 24 insertions, 12 deletions
diff --git a/ChangeLog b/ChangeLog
index e44f57a1cd..b0d798d985 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,7 +1,19 @@
+Fri Apr 2 17:27:17 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
+
+ * eval.c (top_include): include in the wrapped load is done for
+ the wrapper, not for a singleton class for wrapped main.
+ [ruby-dev:23305]
+
+Fri Apr 2 15:13:44 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
+
+ * bignum.c (rb_big_eq): use temporary double variable to save the
+ result (internal float register may be bigger than 64 bits, for
+ example, 80 bits on x86). [ruby-dev:23311]
+
Fri Apr 2 14:35:26 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
- * eval.c (block_pass): should increment unique identifier of the
- block. [ruby-talk:96363]
+ * eval.c (block_pass): should generate unique identifier of the
+ pushing block. [ruby-talk:96363]
Fri Apr 2 11:36:20 2004 Minero Aoki <aamine@loveruby.net>
diff --git a/bignum.c b/bignum.c
index f247d8f1a5..f56d5a6377 100644
--- a/bignum.c
+++ b/bignum.c
@@ -978,10 +978,13 @@ rb_big_eq(x, y)
case T_BIGNUM:
break;
case T_FLOAT:
- if (rb_big2dbl(x) == RFLOAT(y)->value)
- return Qtrue;
- else
- return Qfalse;
+ {
+ double a, b;
+
+ a = RFLOAT(y)->value;
+ b = rb_big2dbl(x);
+ return (a == b)?Qtrue:Qfalse;
+ }
default:
return rb_equal(y, x);
}
diff --git a/eval.c b/eval.c
index 25a15b3c30..a66f710a8a 100644
--- a/eval.c
+++ b/eval.c
@@ -7222,12 +7222,10 @@ top_include(argc, argv, self)
{
rb_secure(4);
if (ruby_wrapper) {
- rb_warn("main#include in the wrapped load is effective only for toplevel");
- return rb_obj_extend(argc, argv, self);
- }
- else {
- return rb_mod_include(argc, argv, rb_cObject);
+ rb_warning("main#include in the wrapped load is effective only in wrapper module");
+ return rb_mod_include(argc, argv, ruby_wrapper);
}
+ return rb_mod_include(argc, argv, rb_cObject);
}
VALUE rb_f_trace_var();
diff --git a/numeric.c b/numeric.c
index deafeb0627..8c28e17079 100644
--- a/numeric.c
+++ b/numeric.c
@@ -843,7 +843,6 @@ flo_eq(x, y)
return num_equal(x, y);
}
a = RFLOAT(x)->value;
- if (isnan(a) || isnan(b)) return Qfalse;
return (a == b)?Qtrue:Qfalse;
}