ruby-changes:3406
From: ko1@a...
Date: 6 Jan 2008 01:39:51 +0900
Subject: [ruby-changes:3406] akr - Ruby:r14899 (trunk): * re.c (rb_reg_initialize_str): /\x80/n is not an error even if script
akr 2008-01-06 01:39:38 +0900 (Sun, 06 Jan 2008) New Revision: 14899 Modified files: trunk/ChangeLog trunk/re.c trunk/test/ruby/test_m17n.rb Log: * re.c (rb_reg_initialize_str): /\x80/n is not an error even if script encoding is EUC-JP. http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/trunk/ChangeLog?r1=14899&r2=14898&diff_format=u http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/trunk/re.c?r1=14899&r2=14898&diff_format=u http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/trunk/test/ruby/test_m17n.rb?r1=14899&r2=14898&diff_format=u Index: re.c =================================================================== --- re.c (revision 14898) +++ re.c (revision 14899) @@ -2035,8 +2035,14 @@ static int rb_reg_initialize_str(VALUE obj, VALUE str, int options, onig_errmsg_buffer err) { - return rb_reg_initialize(obj, RSTRING_PTR(str), RSTRING_LEN(str), rb_enc_get(str), - options, err); + int ret; + rb_encoding *enc = rb_enc_get(str); + if (options & ARG_ENCODING_NONE) + enc = rb_ascii8bit_encoding(); + ret = rb_reg_initialize(obj, RSTRING_PTR(str), RSTRING_LEN(str), enc, + options, err); + RB_GC_GUARD(str); + return ret; } static VALUE Index: ChangeLog =================================================================== --- ChangeLog (revision 14898) +++ ChangeLog (revision 14899) @@ -1,3 +1,8 @@ +Sun Jan 6 01:38:07 2008 Tanaka Akira <akr@f...> + + * re.c (rb_reg_initialize_str): /\x80/n is not an error even if script + encoding is EUC-JP. + Sun Jan 6 00:48:12 2008 NARUSE, Yui <naruse@r...> * lib/resolv.rb (Reolv::DNS#each_address): get A record and then AAAA Index: test/ruby/test_m17n.rb =================================================================== --- test/ruby/test_m17n.rb (revision 14898) +++ test/ruby/test_m17n.rb (revision 14899) @@ -382,6 +382,8 @@ assert_warning(%r{regexp match /.../n against to UTF-8 string}) { assert_equal(nil, r =~ u("\xc2\xa1")) } + + assert_nothing_raised { eval(e("/\\x80/n")) } end def test_regexp_ascii -- ML: ruby-changes@q... Info: http://www.atdot.net/~ko1/quickml