summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog6
-rw-r--r--README.EXT10
-rw-r--r--README.EXT.ja9
3 files changed, 19 insertions, 6 deletions
diff --git a/ChangeLog b/ChangeLog
index de95a04b845..6eff28019a1 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+Sun Jul 11 21:20:27 2010 Nobuyoshi Nakada <nobu@ruby-lang.org>
+
+ * README.EXT{,.ja} (rb_block_call): fixed about third/fourth
+ arguments to the block. based on [ruby-core:31192] by Asher
+ Haig. [Bug #3558]
+
Sun Jul 11 17:01:57 2010 Nobuyoshi Nakada <nobu@ruby-lang.org>
* Makefile.in ({,dist-,real-}clean-ext): should also omit
diff --git a/README.EXT b/README.EXT
index 30269eb74fc..025b0353818 100644
--- a/README.EXT
+++ b/README.EXT
@@ -1167,9 +1167,13 @@ Sets the value of the instance variable.
VALUE (*func) (ANYARGS), VALUE data2)
Calls a method on the recv, with the method name specified by the
-symbol mid, supplying func as the block. func will receive the
-value from yield as the first argument, data2 as the second, and
-argc/argv as the third/fourth arguments.
+symbol mid, with argc arguments in argv, supplying func as the
+block. When func is called as the block, it will receive the value
+from yield as the first argument, and data2 as the second argument.
+When yielded with multiple values (in C, rb_yield_values(),
+rb_yield_values2() and rb_yield_splat()), data2 is packed as an Array,
+whereas yielded values can be gotten via argc/argv of the third/fourth
+arguments.
[OBSOLETE] VALUE rb_iterate(VALUE (*func1)(), void *arg1, VALUE (*func2)(), void *arg2)
diff --git a/README.EXT.ja b/README.EXT.ja
index c35de7d42dd..dae0d24b43e 100644
--- a/README.EXT.ja
+++ b/README.EXT.ja
@@ -1260,9 +1260,12 @@ VALUE rb_iv_set(VALUE obj, const char *name, VALUE val)
VALUE rb_block_call(VALUE obj, ID mid, int argc, VALUE * argv,
VALUE (*func) (ANYARGS), VALUE data2)
- funcをブロックとして設定し, objをレシーバ, argcとargvを引
- 数としてmidメソッドを呼び出す. funcは第一引数にyieldされた
- 値, 第二引数にdata2, 第三, 第四引数にargcとargvを受け取る.
+ funcをブロックとして設定し,objをレシーバ,argcとargvを引数
+ としてmidメソッドを呼び出す.funcは第一引数にyieldされた値,
+ 第二引数にdata2を受け取る.複数の値がyieldされた場合(Cでは
+ rb_yield_values()とrb_yield_values2(), rb_yield_splat()),
+ data2はArrayとしてパックされている.第三, 第四引数のargcと
+ argvによってyieldされた値を取り出すことができる.
[OBSOLETE] VALUE rb_iterate(VALUE (*func1)(), VALUE arg1, VALUE (*func2)(), VALUE arg2)