ruby-changes:16148
From: nobu <ko1@a...>
Date: Mon, 31 May 2010 19:26:25 +0900 (JST)
Subject: [ruby-changes:16148] Ruby:r28108 (ruby_1_9_2, trunk): * regparse.c (onig_syntax_warn): do not use external strings as
nobu 2010-05-31 19:26:01 +0900 (Mon, 31 May 2010) New Revision: 28108 http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=rev&revision=28108 Log: * regparse.c (onig_syntax_warn): do not use external strings as printf format. Modified files: branches/ruby_1_9_2/ChangeLog branches/ruby_1_9_2/regparse.c branches/ruby_1_9_2/test/ruby/test_regexp.rb trunk/ChangeLog trunk/regparse.c trunk/test/ruby/test_regexp.rb Index: regparse.c =================================================================== --- regparse.c (revision 28107) +++ regparse.c (revision 28108) @@ -2859,9 +2859,9 @@ (const UChar *)fmt, args); va_end(args); if (env->sourcefile == NULL) - rb_warn((char *)buf); + rb_warn("%s", (char *)buf); else - rb_compile_warn(env->sourcefile, env->sourceline, (char *)buf); + rb_compile_warn(env->sourcefile, env->sourceline, "%s", (char *)buf); } static void Index: ChangeLog =================================================================== --- ChangeLog (revision 28107) +++ ChangeLog (revision 28108) @@ -1,3 +1,8 @@ +Mon May 31 19:25:58 2010 Nobuyoshi Nakada <nobu@r...> + + * regparse.c (onig_syntax_warn): do not use external strings as + printf format. + Mon May 31 18:22:23 2010 Nobuyoshi Nakada <nobu@r...> * misc/ruby-mode.el (ruby-mode-set-encoding): skip shebang line Index: test/ruby/test_regexp.rb =================================================================== --- test/ruby/test_regexp.rb (revision 28107) +++ test/ruby/test_regexp.rb (revision 28108) @@ -823,4 +823,8 @@ assert_in_out_err('-w', 'x=/[\u3042\u3042]/', [], /duplicated/) assert_in_out_err('-w', 'x=/[\u3042\u3041-\u3043]/', [], /duplicated/) end + + def test_property_warn + assert_in_out_err('-w', 'x=/\p%s/', [], %r"warning: invalid Unicode Property \\p: /\\p%s/") + end end Index: ruby_1_9_2/regparse.c =================================================================== --- ruby_1_9_2/regparse.c (revision 28107) +++ ruby_1_9_2/regparse.c (revision 28108) @@ -2859,9 +2859,9 @@ (const UChar *)fmt, args); va_end(args); if (env->sourcefile == NULL) - rb_warn((char *)buf); + rb_warn("%s", (char *)buf); else - rb_compile_warn(env->sourcefile, env->sourceline, (char *)buf); + rb_compile_warn(env->sourcefile, env->sourceline, "%s", (char *)buf); } static void Index: ruby_1_9_2/ChangeLog =================================================================== --- ruby_1_9_2/ChangeLog (revision 28107) +++ ruby_1_9_2/ChangeLog (revision 28108) @@ -1,3 +1,8 @@ +Mon May 31 19:25:58 2010 Nobuyoshi Nakada <nobu@r...> + + * regparse.c (onig_syntax_warn): do not use external strings as + printf format. + Mon May 31 18:22:23 2010 Nobuyoshi Nakada <nobu@r...> * misc/ruby-mode.el (ruby-mode-set-encoding): skip shebang line Index: ruby_1_9_2/test/ruby/test_regexp.rb =================================================================== --- ruby_1_9_2/test/ruby/test_regexp.rb (revision 28107) +++ ruby_1_9_2/test/ruby/test_regexp.rb (revision 28108) @@ -823,4 +823,8 @@ assert_in_out_err('-w', 'x=/[\u3042\u3042]/', [], /duplicated/) assert_in_out_err('-w', 'x=/[\u3042\u3041-\u3043]/', [], /duplicated/) end + + def test_property_warn + assert_in_out_err('-w', 'x=/\p%s/', [], %r"warning: invalid Unicode Property \\p: /\\p%s/") + end end -- ML: ruby-changes@q... Info: http://www.atdot.net/~ko1/quickml/