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