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

ruby-changes:4034

From: ko1@a...
Date: Sun, 17 Feb 2008 21:54:35 +0900 (JST)
Subject: [ruby-changes:4034] akr - Ruby:r15524 (trunk): * re.c (rb_reg_prepare_re): add enable_warning parameter.

akr	2008-02-17 21:54:17 +0900 (Sun, 17 Feb 2008)

  New Revision: 15524

  Modified files:
    trunk/ChangeLog
    trunk/re.c
    trunk/test/ruby/test_m17n_comb.rb

  Log:
    * re.c (rb_reg_prepare_re): add enable_warning parameter.
      (rb_reg_adjust_startpos): disable warning by rb_reg_prepare_re.
      (rb_reg_search): follow rb_reg_prepare_re parameter change.


  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/trunk/test/ruby/test_m17n_comb.rb?r1=15524&r2=15523&diff_format=u
  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/trunk/ChangeLog?r1=15524&r2=15523&diff_format=u
  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/trunk/re.c?r1=15524&r2=15523&diff_format=u

Index: re.c
===================================================================
--- re.c	(revision 15523)
+++ re.c	(revision 15524)
@@ -1041,7 +1041,7 @@
         rb_encoding **fixed_enc, onig_errmsg_buffer err);
 
 static void
-rb_reg_prepare_re(VALUE re, VALUE str)
+rb_reg_prepare_re(VALUE re, VALUE str, int enable_warning)
 {
     int need_recompile = 0;
     rb_encoding *enc;
@@ -1068,7 +1068,8 @@
 	     RREGEXP(re)->ptr->enc != enc) {
             need_recompile = 1;
         }
-        if ((RBASIC(re)->flags & REG_ENCODING_NONE) &&
+        if (enable_warning &&
+            (RBASIC(re)->flags & REG_ENCODING_NONE) &&
 	    enc != rb_ascii8bit_encoding() &&
             rb_enc_str_coderange(str) != ENC_CODERANGE_7BIT) {
             rb_warn("regexp match /.../n against to %s string",
@@ -1119,7 +1120,7 @@
     OnigEncoding enc;
     UChar *p, *string;
 
-    rb_reg_prepare_re(re, str);
+    rb_reg_prepare_re(re, str, 0);
 
     if (reverse) {
 	range = -pos;
@@ -1158,7 +1159,7 @@
 	return -1;
     }
 
-    rb_reg_prepare_re(re, str);
+    rb_reg_prepare_re(re, str, 1);
 
     if (!reverse) {
 	range += RSTRING_LEN(str);
Index: ChangeLog
===================================================================
--- ChangeLog	(revision 15523)
+++ ChangeLog	(revision 15524)
@@ -1,3 +1,9 @@
+Sun Feb 17 20:45:10 2008  Tanaka Akira  <akr@f...>
+
+	* re.c (rb_reg_prepare_re): add enable_warning parameter.
+	  (rb_reg_adjust_startpos): disable warning by rb_reg_prepare_re.
+	  (rb_reg_search): follow rb_reg_prepare_re parameter change.
+
 Sun Feb 17 20:12:41 2008  Yusuke Endoh  <mame@t...>
 
 	* test/ruby/test_regexp.rb: add tests to achieve over 90% test
Index: test/ruby/test_m17n_comb.rb
===================================================================
--- test/ruby/test_m17n_comb.rb	(revision 15523)
+++ test/ruby/test_m17n_comb.rb	(revision 15524)
@@ -109,6 +109,8 @@
     s("\xe0\xa0\xa1"),
 
     #"aa".force_encoding("utf-16be"),
+    #"aaaa".force_encoding("utf-32be"),
+    #"aaa".force_encoding("utf-32be"),
   ]
 
   def combination(*args)

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

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