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

ruby-changes:2820

From: ko1@a...
Date: 19 Dec 2007 10:53:34 +0900
Subject: [ruby-changes:2820] nobu - Ruby:r14311 (ruby_1_8, trunk): * bignum.c (rb_cstr_to_inum): an underscore succeeding after octal

nobu	2007-12-19 10:52:31 +0900 (Wed, 19 Dec 2007)

  New Revision: 14311

  Modified files:
    branches/ruby_1_8/ChangeLog
    branches/ruby_1_8/bignum.c
    branches/ruby_1_8/test/ruby/test_integer.rb
    branches/ruby_1_8/version.h
    trunk/ChangeLog
    trunk/bignum.c
    trunk/test/ruby/test_integer.rb

  Log:
    * bignum.c (rb_cstr_to_inum): an underscore succeeding after octal
      prefix is allowed.  [ruby-core:14139]


  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/branches/ruby_1_8/ChangeLog?r1=14311&r2=14310
  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/trunk/ChangeLog?r1=14311&r2=14310
  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/branches/ruby_1_8/test/ruby/test_integer.rb?r1=14311&r2=14310
  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/trunk/bignum.c?r1=14311&r2=14310
  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/branches/ruby_1_8/bignum.c?r1=14311&r2=14310
  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/branches/ruby_1_8/version.h?r1=14311&r2=14310
  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/trunk/test/ruby/test_integer.rb?r1=14311&r2=14310

Index: ChangeLog
===================================================================
--- ChangeLog	(revision 14310)
+++ ChangeLog	(revision 14311)
@@ -1,3 +1,8 @@
+Wed Dec 19 10:52:29 2007  Nobuyoshi Nakada  <nobu@r...>
+
+	* bignum.c (rb_cstr_to_inum): an underscore succeeding after octal
+	  prefix is allowed.  [ruby-core:14139]
+
 Wed Dec 19 00:09:19 2007  Yukihiro Matsumoto  <matz@r...>
 
 	* bignum.c (rb_cstr_to_inum): wrong radix check.  a patch from
Index: bignum.c
===================================================================
--- bignum.c	(revision 14310)
+++ bignum.c	(revision 14311)
@@ -439,7 +439,7 @@
 	len = 2;
 	break;
       case 8:
-	if (str[0] == '0' && (str[1] == 'o'||str[1] == 'O')) {
+	if (str[0] == '0' && (str[1] == 'o'||str[1] == 'O'||str[1] == '_')) {
 	    str += 2;
 	}
       case 4: case 5: case 6: case 7:
Index: test/ruby/test_integer.rb
===================================================================
--- test/ruby/test_integer.rb	(revision 14310)
+++ test/ruby/test_integer.rb	(revision 14311)
@@ -670,5 +670,8 @@
     assert_nothing_raised(ArgumentError, "[ruby-core:13873]") {
       assert_equal(0, Integer("0 "))
     }
+    assert_nothing_raised(ArgumentError, "[ruby-core:14139]") {
+      assert_equal(0377, Integer("0_3_7_7"))
+    }
   end
 end
Index: ruby_1_8/ChangeLog
===================================================================
--- ruby_1_8/ChangeLog	(revision 14310)
+++ ruby_1_8/ChangeLog	(revision 14311)
@@ -1,3 +1,8 @@
+Wed Dec 19 10:52:29 2007  Nobuyoshi Nakada  <nobu@r...>
+
+	* bignum.c (rb_cstr_to_inum): an underscore succeeding after octal
+	  prefix is allowed.  [ruby-core:14139]
+
 Mon Dec 17 13:43:15 2007  Tanaka Akira  <akr@f...>
 
 	* gc.c (stack_end_address): use local variable address instead of
Index: ruby_1_8/version.h
===================================================================
--- ruby_1_8/version.h	(revision 14310)
+++ ruby_1_8/version.h	(revision 14311)
@@ -1,7 +1,7 @@
 #define RUBY_VERSION "1.8.6"
-#define RUBY_RELEASE_DATE "2007-12-17"
+#define RUBY_RELEASE_DATE "2007-12-19"
 #define RUBY_VERSION_CODE 186
-#define RUBY_RELEASE_CODE 20071217
+#define RUBY_RELEASE_CODE 20071219
 #define RUBY_PATCHLEVEL 5000
 
 #define RUBY_VERSION_MAJOR 1
@@ -9,7 +9,7 @@
 #define RUBY_VERSION_TEENY 6
 #define RUBY_RELEASE_YEAR 2007
 #define RUBY_RELEASE_MONTH 12
-#define RUBY_RELEASE_DAY 17
+#define RUBY_RELEASE_DAY 19
 
 #ifdef RUBY_EXTERN
 RUBY_EXTERN const char ruby_version[];
Index: ruby_1_8/bignum.c
===================================================================
--- ruby_1_8/bignum.c	(revision 14310)
+++ ruby_1_8/bignum.c	(revision 14311)
@@ -416,7 +416,7 @@
 	len = 2;
 	break;
       case 8:
-	if (str[0] == '0' && (str[1] == 'o'||str[1] == 'O')) {
+	if (str[0] == '0' && (str[1] == 'o'||str[1] == 'O'||str[1] == '_')) {
 	    str += 2;
 	}
       case 4: case 5: case 6: case 7:
Index: ruby_1_8/test/ruby/test_integer.rb
===================================================================
--- ruby_1_8/test/ruby/test_integer.rb	(revision 14310)
+++ ruby_1_8/test/ruby/test_integer.rb	(revision 14311)
@@ -645,5 +645,8 @@
     assert_nothing_raised(ArgumentError, "[ruby-core:13873]") {
       assert_equal(0, Integer("0 "))
     }
+    assert_nothing_raised(ArgumentError, "[ruby-core:14139]") {
+      assert_equal(0377, Integer("0_3_7_7"))
+    }
   end
 end

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

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