From c0ab40c785d71c5b2b41c69731b61fe4ba9f8c0f Mon Sep 17 00:00:00 2001 From: matz Date: Fri, 2 Apr 2004 08:35:32 +0000 Subject: [PATCH] * 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 --- ChangeLog | 16 ++++++++++++++-- bignum.c | 11 +++++++---- eval.c | 8 +++----- numeric.c | 1 - 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 + + * 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 + + * 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 - * 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 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; }