[前][次][番号順一覧][スレッド一覧]

ruby-changes:16656

From: mame <ko1@a...>
Date: Thu, 15 Jul 2010 21:55:37 +0900 (JST)
Subject: [ruby-changes:16656] Ruby:r28652 (trunk): * numeric.c (fix_divide): must not use rb_rational_new1 for coercion

mame	2010-07-15 21:55:23 +0900 (Thu, 15 Jul 2010)

  New Revision: 28652

  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=rev&revision=28652

  Log:
    * numeric.c (fix_divide): must not use rb_rational_new1 for coercion
      because it returns an argument itself when canonical mode is set.
      [ruby-core:31279]

  Modified files:
    trunk/ChangeLog
    trunk/numeric.c

Index: ChangeLog
===================================================================
--- ChangeLog	(revision 28651)
+++ ChangeLog	(revision 28652)
@@ -1,3 +1,9 @@
+Thu Jul 15 21:43:35 2010  Yusuke Endoh  <mame@t...>
+
+	* numeric.c (fix_divide): must not use rb_rational_new1 for coercion
+	  because it returns an argument itself when canonical mode is set.
+	  [ruby-core:31279]
+
 Thu Jul 15 21:38:31 2010  Yusuke Endoh  <mame@t...>
 
 	* proc.c (bm_free): fix memory leak.  [ruby-core:30869] [Bug #3466]
Index: numeric.c
===================================================================
--- numeric.c	(revision 28651)
+++ numeric.c	(revision 28652)
@@ -2429,7 +2429,7 @@
       case T_RATIONAL:
 	if (op == '/' && FIX2LONG(x) == 1)
 	    return rb_rational_reciprocal(y);
-	return rb_funcall(rb_rational_new1(x), op, 1, y);
+	/* fall through */
       default:
 	return rb_num_coerce_bin(x, y, op);
     }

--
ML: ruby-changes@q...
Info: http://www.atdot.net/~ko1/quickml/

[前][次][番号順一覧][スレッド一覧]