summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorusa <usa@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2012-10-16 01:21:57 +0000
committerusa <usa@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2012-10-16 01:21:57 +0000
commit259d9dbc20f7841c11460bf0ae0530ba121b4799 (patch)
treecc542897dab16302b9598f2270b4ffa83f76b1ee
parent535649eed14f40e6fd429786668209ad32fddf74 (diff)
downloadruby-259d9dbc20f7841c11460bf0ae0530ba121b4799.tar.gz
merge revision(s) 37177: [Backport #7157]
* ruby.c (rb_f_sub, rb_f_gsub): pass the given block. [ruby-core:47967] [Bug #7157] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_3@37205 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r--ChangeLog5
-rw-r--r--ruby.c8
-rw-r--r--test/ruby/test_rubyoptions.rb10
-rw-r--r--version.h2
4 files changed, 20 insertions, 5 deletions
diff --git a/ChangeLog b/ChangeLog
index f6ca9e3187..12259e9150 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+Tue Oct 16 10:21:23 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
+
+ * ruby.c (rb_f_sub, rb_f_gsub): pass the given block.
+ [ruby-core:47967] [Bug #7157]
+
Tue Oct 16 09:47:47 2012 NAKAMURA Usaku <usa@ruby-lang.org>
* test/ruby/test_regexp.rb
diff --git a/ruby.c b/ruby.c
index 44cec06366..9de719a086 100644
--- a/ruby.c
+++ b/ruby.c
@@ -1171,7 +1171,7 @@ rb_f_sub(argc, argv)
int argc;
VALUE *argv;
{
- VALUE str = rb_funcall3(uscore_get(), rb_intern("sub"), argc, argv);
+ VALUE str = rb_funcall_passing_block(uscore_get(), rb_intern("sub"), argc, argv);
rb_lastline_set(str);
return str;
}
@@ -1192,7 +1192,7 @@ rb_f_gsub(argc, argv)
int argc;
VALUE *argv;
{
- VALUE str = rb_funcall3(uscore_get(), rb_intern("gsub"), argc, argv);
+ VALUE str = rb_funcall_passing_block(uscore_get(), rb_intern("gsub"), argc, argv);
rb_lastline_set(str);
return str;
}
@@ -1210,7 +1210,7 @@ rb_f_gsub(argc, argv)
static VALUE
rb_f_chop(void)
{
- VALUE str = rb_funcall3(uscore_get(), rb_intern("chop"), 0, 0);
+ VALUE str = rb_funcall_passing_block(uscore_get(), rb_intern("chop"), 0, 0);
rb_lastline_set(str);
return str;
}
@@ -1232,7 +1232,7 @@ rb_f_chomp(argc, argv)
int argc;
VALUE *argv;
{
- VALUE str = rb_funcall3(uscore_get(), rb_intern("chomp"), argc, argv);
+ VALUE str = rb_funcall_passing_block(uscore_get(), rb_intern("chomp"), argc, argv);
rb_lastline_set(str);
return str;
}
diff --git a/test/ruby/test_rubyoptions.rb b/test/ruby/test_rubyoptions.rb
index 339999a17e..0f883420d7 100644
--- a/test/ruby/test_rubyoptions.rb
+++ b/test/ruby/test_rubyoptions.rb
@@ -553,4 +553,14 @@ class TestRubyOptions < Test::Unit::TestCase
assert_in_out_err(["-C", dir, a], "", [], /LoadError/, bug3851)
end
end
+
+ def test_pflag_gsub
+ bug7157 = '[ruby-core:47967]'
+ assert_in_out_err(['-p', '-e', 'gsub(/t.*/){"TEST"}'], %[test], %w[TEST], [], bug7157)
+ end
+
+ def test_pflag_sub
+ bug7157 = '[ruby-core:47967]'
+ assert_in_out_err(['-p', '-e', 'sub(/t.*/){"TEST"}'], %[test], %w[TEST], [], bug7157)
+ end
end
diff --git a/version.h b/version.h
index f8bea27a6a..5e4667f611 100644
--- a/version.h
+++ b/version.h
@@ -1,5 +1,5 @@
#define RUBY_VERSION "1.9.3"
-#define RUBY_PATCHLEVEL 291
+#define RUBY_PATCHLEVEL 292
#define RUBY_RELEASE_DATE "2012-10-16"
#define RUBY_RELEASE_YEAR 2012