summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog5
-rw-r--r--bignum.c2
-rw-r--r--test/ruby/test_integer.rb3
-rw-r--r--version.h6
4 files changed, 12 insertions, 4 deletions
diff --git a/ChangeLog b/ChangeLog
index 12b9d1e379..bc6f6a6404 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+Wed Dec 19 10:52:29 2007 Nobuyoshi Nakada <nobu@ruby-lang.org>
+
+ * 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@fsij.org>
* gc.c (stack_end_address): use local variable address instead of
diff --git a/bignum.c b/bignum.c
index b43b5993ba..88bf9e03e6 100644
--- a/bignum.c
+++ b/bignum.c
@@ -416,7 +416,7 @@ rb_cstr_to_inum(str, base, badcheck)
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:
diff --git a/test/ruby/test_integer.rb b/test/ruby/test_integer.rb
index b2042b0761..7997ba65f7 100644
--- a/test/ruby/test_integer.rb
+++ b/test/ruby/test_integer.rb
@@ -645,5 +645,8 @@ class TestInteger < Test::Unit::TestCase
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
diff --git a/version.h b/version.h
index b7446c879e..b63f8c1fa9 100644
--- a/version.h
+++ b/version.h
@@ -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[];