summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog7
-rw-r--r--enum.c2
-rw-r--r--eval.c1
3 files changed, 9 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index 0f14f41..afaea8d 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+Sat Aug 23 02:32:33 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
+
+ * enum.c (each_with_index_i): typo.
+
+ * eval.c (rb_yield_splat): should call svalue_to_avalue() before
+ calling rb_yield_0().
+
Fri Aug 22 17:07:05 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
* enum.c (inject_i): use rb_yield_values.
diff --git a/enum.c b/enum.c
index ac27757..ee0b058 100644
--- a/enum.c
+++ b/enum.c
@@ -499,7 +499,7 @@ each_with_index_i(val, memo)
VALUE val;
NODE *memo;
{
- rb_yield_values(val, INT2FIX(memo->u3.cnt));
+ rb_yield_values(2, val, INT2FIX(memo->u3.cnt));
memo->u3.cnt++;
return Qnil;
}
diff --git a/eval.c b/eval.c
index 255a095..7b48099 100644
--- a/eval.c
+++ b/eval.c
@@ -4254,6 +4254,7 @@ VALUE
rb_yield_splat(values)
VALUE values;
{
+ values = svalue_to_avalue(values);
if (RARRAY(values)->len == 0) {
return rb_yield_0(Qundef, 0, 0, Qfalse, Qfalse);
}