From fcce99c52d786e336ab0a8f8205a04841fc743d0 Mon Sep 17 00:00:00 2001 From: matz Date: Sat, 18 Oct 2008 10:29:06 +0000 Subject: * re.c (rb_reg_initialize_m): specify ARG_ENCODING_NONE instead of ARG_ENCODING_FIXED for Regexp.new("", nil, "n"). [ruby-dev:36761] * test/ruby/test_regexp.rb (TestRegexp#test_initialize): test updated. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19832 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ChangeLog | 8 ++++++++ re.c | 2 +- test/ruby/test_regexp.rb | 3 ++- 3 files changed, 11 insertions(+), 2 deletions(-) diff --git a/ChangeLog b/ChangeLog index 4a230cd7b1..0d431b2dda 100644 --- a/ChangeLog +++ b/ChangeLog @@ -27,6 +27,14 @@ Fri Oct 17 22:04:38 2008 wanabe * array.c: recycle shared-array when it isn't referenced. +Fri Oct 17 20:29:26 2008 Yukihiro Matsumoto + + * re.c (rb_reg_initialize_m): specify ARG_ENCODING_NONE instead of + ARG_ENCODING_FIXED for Regexp.new("", nil, "n"). [ruby-dev:36761] + + * test/ruby/test_regexp.rb (TestRegexp#test_initialize): test + updated. + Fri Oct 17 19:46:20 2008 Nobuyoshi Nakada * tool/ifchange, win32/ifchange.bat: --timestamp option added. diff --git a/re.c b/re.c index 48a12ee3bc..bd598ddf66 100644 --- a/re.c +++ b/re.c @@ -2795,7 +2795,7 @@ rb_reg_initialize_m(int argc, VALUE *argv, VALUE self) char *kcode = StringValuePtr(argv[2]); if (kcode[0] == 'n' || kcode[1] == 'N') { enc = rb_ascii8bit_encoding(); - flags |= ARG_ENCODING_FIXED; + flags |= ARG_ENCODING_NONE; } else { rb_warn("encoding option is ignored - %s", kcode); diff --git a/test/ruby/test_regexp.rb b/test/ruby/test_regexp.rb index ad222c5483..fdfef04b4d 100644 --- a/test/ruby/test_regexp.rb +++ b/test/ruby/test_regexp.rb @@ -272,8 +272,9 @@ class TestRegexp < Test::Unit::TestCase Thread.new { $SAFE = 4; re.instance_eval { initialize(re) } }.join end - assert_equal(Encoding.find("ASCII-8BIT"), Regexp.new("b..", nil, "n").encoding) + assert_equal(Encoding.find("US-ASCII"), Regexp.new("b..", nil, "n").encoding) assert_equal("bar", "foobarbaz"[Regexp.new("b..", nil, "n")]) + assert_equal(//n, Regexp.new("", nil, "n")) assert_raise(RegexpError) { Regexp.new(")(") } end -- cgit v1.2.3